Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH 1/2] lavu/pix_fmt: add rgbx64 and bgrx64 pixel formats
@ 2022-08-21 23:12 ffmpeg
  2022-08-21 23:12 ` [FFmpeg-devel] [PATCH 2/2] swscale: add conversions for rgb/bgrx64 formats ffmpeg
  0 siblings, 1 reply; 2+ messages in thread
From: ffmpeg @ 2022-08-21 23:12 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Manuel Stoeckl

From: Manuel Stoeckl <code@mstoeckl.com>

These new formats are equivalent to rgba64 and bgra64, except
that the contents of the alpha channel are ignored.

These formats are equivalent to the Linux DRM formats XBGR16161616 and
XRGB16161616; these are used by Wayland compositors to either provide
high bit depth image data for a DRM plane, or receive such data from
applications. Programs that make video recordings of the screen or
individual windows on Wayland will encounter such formats; adding support
for them in libavutil will simplify such programs' implementations.

Signed-off-by: Manuel Stoeckl <code@mstoeckl.com>
---
 doc/APIchanges                   |  3 ++
 libavutil/pixdesc.c              | 48 ++++++++++++++++++++++++++++++++
 libavutil/pixfmt.h               |  7 +++++
 libavutil/version.h              |  4 +--
 tests/ref/fate/imgutils          |  4 +++
 tests/ref/fate/sws-pixdesc-query | 22 +++++++++++++++
 6 files changed, 86 insertions(+), 2 deletions(-)

diff --git a/doc/APIchanges b/doc/APIchanges
index 2df65a521d..17aff90af7 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -14,6 +14,9 @@ libavutil:     2021-04-27
 
 API changes, most recent first:
 
+2022-08-xx - xxxxxxxxxx - lavu 57.34.100 - pixfmt.h
+  Add AV_PIX_FMT_RGBX64 and AV_PIX_FMT_BGRX64 pixel formats.
+
 2022-08-19 - 352799dca8 - lavc 59.42.102 - codec_id.h
   Deprecate AV_CODEC_ID_AYUV and ayuv decoder/encoder. The rawvideo codec
   and vuya pixel format combination will be used instead from now on.
diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
index f7558ff8b9..c0f0234cad 100644
--- a/libavutil/pixdesc.c
+++ b/libavutil/pixdesc.c
@@ -1156,6 +1156,30 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         },
         .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
     },
+    [AV_PIX_FMT_RGBX64BE] = {
+        .name = "rgbx64be",
+        .nb_components = 3,
+        .log2_chroma_w = 0,
+        .log2_chroma_h = 0,
+        .comp = {
+            { 0, 8, 0, 0, 16 },       /* R */
+            { 0, 8, 2, 0, 16 },       /* G */
+            { 0, 8, 4, 0, 16 },       /* B */
+        },
+        .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
+    },
+    [AV_PIX_FMT_RGBX64LE] = {
+        .name = "rgbx64le",
+        .nb_components = 3,
+        .log2_chroma_w = 0,
+        .log2_chroma_h = 0,
+        .comp = {
+            { 0, 8, 0, 0, 16 },       /* R */
+            { 0, 8, 2, 0, 16 },       /* G */
+            { 0, 8, 4, 0, 16 },       /* B */
+        },
+        .flags = AV_PIX_FMT_FLAG_RGB,
+    },
     [AV_PIX_FMT_RGB565BE] = {
         .name = "rgb565be",
         .nb_components = 3,
@@ -1278,6 +1302,30 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
         },
         .flags = AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
     },
+    [AV_PIX_FMT_BGRX64BE] = {
+        .name = "bgrx64be",
+        .nb_components = 3,
+        .log2_chroma_w = 0,
+        .log2_chroma_h = 0,
+        .comp = {
+            { 0, 8, 4, 0, 16 },       /* R */
+            { 0, 8, 2, 0, 16 },       /* G */
+            { 0, 8, 0, 0, 16 },       /* B */
+        },
+        .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_RGB,
+    },
+    [AV_PIX_FMT_BGRX64LE] = {
+        .name = "bgrx64le",
+        .nb_components = 3,
+        .log2_chroma_w = 0,
+        .log2_chroma_h = 0,
+        .comp = {
+            { 0, 8, 4, 0, 16 },       /* R */
+            { 0, 8, 2, 0, 16 },       /* G */
+            { 0, 8, 0, 0, 16 },       /* B */
+        },
+        .flags = AV_PIX_FMT_FLAG_RGB,
+    },
     [AV_PIX_FMT_BGR565BE] = {
         .name = "bgr565be",
         .nb_components = 3,
diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
index 86c9bdefeb..2b8c2ffdd4 100644
--- a/libavutil/pixfmt.h
+++ b/libavutil/pixfmt.h
@@ -372,6 +372,11 @@ enum AVPixelFormat {
     AV_PIX_FMT_RGBAF16BE,   ///< IEEE-754 half precision packed RGBA 16:16:16:16, 64bpp, RGBARGBA..., big-endian
     AV_PIX_FMT_RGBAF16LE,   ///< IEEE-754 half precision packed RGBA 16:16:16:16, 64bpp, RGBARGBA..., little-endian
 
+    AV_PIX_FMT_RGBX64BE,     ///< packed RGB 16:16:16, 64bpp, 16R, 16G, 16B, 16X, the 2-byte value for each R/G/B component is stored as big-endian
+    AV_PIX_FMT_RGBX64LE,     ///< packed RGB 16:16:16, 64bpp, 16R, 16G, 16B, 16X, the 2-byte value for each R/G/B component is stored as little-endian
+    AV_PIX_FMT_BGRX64BE,     ///< packed RGB 16:16:16, 64bpp, 16B, 16G, 16R, 16X, the 2-byte value for each R/G/B component is stored as big-endian
+    AV_PIX_FMT_BGRX64LE,     ///< packed RGB 16:16:16, 64bpp, 16B, 16G, 16R, 16X, the 2-byte value for each R/G/B component is stored as little-endian
+
     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
 };
 
@@ -399,11 +404,13 @@ enum AVPixelFormat {
 #define AV_PIX_FMT_RGB555 AV_PIX_FMT_NE(RGB555BE, RGB555LE)
 #define AV_PIX_FMT_RGB444 AV_PIX_FMT_NE(RGB444BE, RGB444LE)
 #define AV_PIX_FMT_RGBA64 AV_PIX_FMT_NE(RGBA64BE, RGBA64LE)
+#define AV_PIX_FMT_RGBX64 AV_PIX_FMT_NE(RGBX64BE, RGBX64LE)
 #define AV_PIX_FMT_BGR48  AV_PIX_FMT_NE(BGR48BE,  BGR48LE)
 #define AV_PIX_FMT_BGR565 AV_PIX_FMT_NE(BGR565BE, BGR565LE)
 #define AV_PIX_FMT_BGR555 AV_PIX_FMT_NE(BGR555BE, BGR555LE)
 #define AV_PIX_FMT_BGR444 AV_PIX_FMT_NE(BGR444BE, BGR444LE)
 #define AV_PIX_FMT_BGRA64 AV_PIX_FMT_NE(BGRA64BE, BGRA64LE)
+#define AV_PIX_FMT_BGRX64 AV_PIX_FMT_NE(BGRX64BE, BGRX64LE)
 
 #define AV_PIX_FMT_YUV420P9  AV_PIX_FMT_NE(YUV420P9BE , YUV420P9LE)
 #define AV_PIX_FMT_YUV422P9  AV_PIX_FMT_NE(YUV422P9BE , YUV422P9LE)
diff --git a/libavutil/version.h b/libavutil/version.h
index 05661922b3..5d0df781cc 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -79,8 +79,8 @@
  */
 
 #define LIBAVUTIL_VERSION_MAJOR  57
-#define LIBAVUTIL_VERSION_MINOR  33
-#define LIBAVUTIL_VERSION_MICRO 101
+#define LIBAVUTIL_VERSION_MINOR  34
+#define LIBAVUTIL_VERSION_MICRO 100
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
                                                LIBAVUTIL_VERSION_MINOR, \
diff --git a/tests/ref/fate/imgutils b/tests/ref/fate/imgutils
index 01c9877de5..7661f2cdaa 100644
--- a/tests/ref/fate/imgutils
+++ b/tests/ref/fate/imgutils
@@ -249,3 +249,7 @@ p416le          planes: 2, linesizes: 128 256   0   0, plane_sizes:  6144 12288
 vuya            planes: 1, linesizes: 256   0   0   0, plane_sizes: 12288     0     0     0, plane_offsets:     0     0     0, total_size: 12288
 rgbaf16be       planes: 1, linesizes: 512   0   0   0, plane_sizes: 24576     0     0     0, plane_offsets:     0     0     0, total_size: 24576
 rgbaf16le       planes: 1, linesizes: 512   0   0   0, plane_sizes: 24576     0     0     0, plane_offsets:     0     0     0, total_size: 24576
+rgbx64be        planes: 1, linesizes: 512   0   0   0, plane_sizes: 24576     0     0     0, plane_offsets:     0     0     0, total_size: 24576
+rgbx64le        planes: 1, linesizes: 512   0   0   0, plane_sizes: 24576     0     0     0, plane_offsets:     0     0     0, total_size: 24576
+bgrx64be        planes: 1, linesizes: 512   0   0   0, plane_sizes: 24576     0     0     0, plane_offsets:     0     0     0, total_size: 24576
+bgrx64le        planes: 1, linesizes: 512   0   0   0, plane_sizes: 24576     0     0     0, plane_offsets:     0     0     0, total_size: 24576
diff --git a/tests/ref/fate/sws-pixdesc-query b/tests/ref/fate/sws-pixdesc-query
index f79d99e513..02cc1bf916 100644
--- a/tests/ref/fate/sws-pixdesc-query
+++ b/tests/ref/fate/sws-pixdesc-query
@@ -5,6 +5,8 @@ is16BPS:
   bgr48le
   bgra64be
   bgra64le
+  bgrx64be
+  bgrx64le
   gbrap16be
   gbrap16le
   gbrp16be
@@ -23,6 +25,8 @@ is16BPS:
   rgba64le
   rgbaf16be
   rgbaf16le
+  rgbx64be
+  rgbx64le
   ya16be
   ya16le
   yuv420p16be
@@ -131,6 +135,7 @@ isBE:
   bgr555be
   bgr565be
   bgra64be
+  bgrx64be
   gbrap10be
   gbrap12be
   gbrap16be
@@ -160,6 +165,7 @@ isBE:
   rgb565be
   rgba64be
   rgbaf16be
+  rgbx64be
   x2bgr10be
   x2rgb10be
   xyz12be
@@ -443,6 +449,8 @@ isRGB:
   bgr8
   bgra64be
   bgra64le
+  bgrx64be
+  bgrx64le
   gbrap
   gbrap10be
   gbrap10le
@@ -484,6 +492,8 @@ isRGB:
   rgba64le
   rgbaf16be
   rgbaf16le
+  rgbx64be
+  rgbx64le
   x2bgr10be
   x2bgr10le
   x2rgb10be
@@ -593,6 +603,8 @@ AnyRGB:
   bgr8
   bgra64be
   bgra64le
+  bgrx64be
+  bgrx64le
   gbrap
   gbrap10be
   gbrap10le
@@ -636,6 +648,8 @@ AnyRGB:
   rgba64le
   rgbaf16be
   rgbaf16le
+  rgbx64be
+  rgbx64le
   x2bgr10be
   x2bgr10le
   x2rgb10be
@@ -728,6 +742,8 @@ Packed:
   bgr8
   bgra64be
   bgra64le
+  bgrx64be
+  bgrx64le
   monob
   monow
   pal8
@@ -750,6 +766,8 @@ Packed:
   rgba64le
   rgbaf16be
   rgbaf16le
+  rgbx64be
+  rgbx64le
   uyvy422
   uyyvyy411
   vuya
@@ -912,6 +930,8 @@ PackedRGB:
   bgr8
   bgra64be
   bgra64le
+  bgrx64be
+  bgrx64le
   rgb0
   rgb24
   rgb32
@@ -931,6 +951,8 @@ PackedRGB:
   rgba64le
   rgbaf16be
   rgbaf16le
+  rgbx64be
+  rgbx64le
   x2bgr10be
   x2bgr10le
   x2rgb10be
-- 
2.37.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-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [FFmpeg-devel] [PATCH 2/2] swscale: add conversions for rgb/bgrx64 formats
  2022-08-21 23:12 [FFmpeg-devel] [PATCH 1/2] lavu/pix_fmt: add rgbx64 and bgrx64 pixel formats ffmpeg
@ 2022-08-21 23:12 ` ffmpeg
  0 siblings, 0 replies; 2+ messages in thread
From: ffmpeg @ 2022-08-21 23:12 UTC (permalink / raw)
  To: ffmpeg-devel; +Cc: Manuel Stoeckl

From: Manuel Stoeckl <code@mstoeckl.com>

These reuse existing code from conversions to/from formats like
RGBA64 in the case where the alpha channel was unneeded.

Signed-off-by: Manuel Stoeckl <code@mstoeckl.com>
---
 libswscale/input.c                       | 12 +++++++
 libswscale/output.c                      | 41 +++++++++++++++++++++++-
 libswscale/utils.c                       |  4 +++
 tests/ref/fate/filter-pixdesc-bgrx64be   |  1 +
 tests/ref/fate/filter-pixdesc-bgrx64le   |  1 +
 tests/ref/fate/filter-pixdesc-rgbx64be   |  1 +
 tests/ref/fate/filter-pixdesc-rgbx64le   |  1 +
 tests/ref/fate/filter-pixfmts-copy       |  4 +++
 tests/ref/fate/filter-pixfmts-crop       |  4 +++
 tests/ref/fate/filter-pixfmts-field      |  4 +++
 tests/ref/fate/filter-pixfmts-fieldorder |  4 +++
 tests/ref/fate/filter-pixfmts-hflip      |  4 +++
 tests/ref/fate/filter-pixfmts-il         |  4 +++
 tests/ref/fate/filter-pixfmts-null       |  4 +++
 tests/ref/fate/filter-pixfmts-scale      |  4 +++
 tests/ref/fate/filter-pixfmts-transpose  |  4 +++
 tests/ref/fate/filter-pixfmts-vflip      |  4 +++
 17 files changed, 100 insertions(+), 1 deletion(-)
 create mode 100644 tests/ref/fate/filter-pixdesc-bgrx64be
 create mode 100644 tests/ref/fate/filter-pixdesc-bgrx64le
 create mode 100644 tests/ref/fate/filter-pixdesc-rgbx64be
 create mode 100644 tests/ref/fate/filter-pixdesc-rgbx64le

diff --git a/libswscale/input.c b/libswscale/input.c
index 1077d01e91..bb39a83a8d 100644
--- a/libswscale/input.c
+++ b/libswscale/input.c
@@ -1407,15 +1407,19 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c)
     if (c->chrSrcHSubSample) {
         switch (srcFormat) {
         case AV_PIX_FMT_RGBA64BE:
+        case AV_PIX_FMT_RGBX64BE:
             c->chrToYV12 = rgb64BEToUV_half_c;
             break;
         case AV_PIX_FMT_RGBA64LE:
+        case AV_PIX_FMT_RGBX64LE:
             c->chrToYV12 = rgb64LEToUV_half_c;
             break;
         case AV_PIX_FMT_BGRA64BE:
+        case AV_PIX_FMT_BGRX64BE:
             c->chrToYV12 = bgr64BEToUV_half_c;
             break;
         case AV_PIX_FMT_BGRA64LE:
+        case AV_PIX_FMT_BGRX64LE:
             c->chrToYV12 = bgr64LEToUV_half_c;
             break;
         case AV_PIX_FMT_RGB48BE:
@@ -1504,15 +1508,19 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c)
     } else {
         switch (srcFormat) {
         case AV_PIX_FMT_RGBA64BE:
+        case AV_PIX_FMT_RGBX64BE:
             c->chrToYV12 = rgb64BEToUV_c;
             break;
         case AV_PIX_FMT_RGBA64LE:
+        case AV_PIX_FMT_RGBX64LE:
             c->chrToYV12 = rgb64LEToUV_c;
             break;
         case AV_PIX_FMT_BGRA64BE:
+        case AV_PIX_FMT_BGRX64BE:
             c->chrToYV12 = bgr64BEToUV_c;
             break;
         case AV_PIX_FMT_BGRA64LE:
+        case AV_PIX_FMT_BGRX64LE:
             c->chrToYV12 = bgr64LEToUV_c;
             break;
         case AV_PIX_FMT_RGB48BE:
@@ -1845,15 +1853,19 @@ av_cold void ff_sws_init_input_funcs(SwsContext *c)
         c->lumToYV12 = bgr48LEToY_c;
         break;
     case AV_PIX_FMT_RGBA64BE:
+    case AV_PIX_FMT_RGBX64BE:
         c->lumToYV12 = rgb64BEToY_c;
         break;
     case AV_PIX_FMT_RGBA64LE:
+    case AV_PIX_FMT_RGBX64LE:
         c->lumToYV12 = rgb64LEToY_c;
         break;
     case AV_PIX_FMT_BGRA64BE:
+    case AV_PIX_FMT_BGRX64BE:
         c->lumToYV12 = bgr64BEToY_c;
         break;
     case AV_PIX_FMT_BGRA64LE:
+    case AV_PIX_FMT_BGRX64LE:
         c->lumToYV12 = bgr64LEToY_c;
         break;
     case AV_PIX_FMT_P010LE:
diff --git a/libswscale/output.c b/libswscale/output.c
index 74f992ae80..c5e97ff3e8 100644
--- a/libswscale/output.c
+++ b/libswscale/output.c
@@ -2827,7 +2827,26 @@ av_cold void ff_sws_init_output_funcs(SwsContext *c,
                 *yuv2packed1 = yuv2bgrx64be_full_1_c;
             }
             break;
-
+        case AV_PIX_FMT_RGBX64LE:
+            *yuv2packedX = yuv2rgbx64le_full_X_c;
+            *yuv2packed2 = yuv2rgbx64le_full_2_c;
+            *yuv2packed1 = yuv2rgbx64le_full_1_c;
+            break;
+        case AV_PIX_FMT_RGBX64BE:
+            *yuv2packedX = yuv2rgbx64be_full_X_c;
+            *yuv2packed2 = yuv2rgbx64be_full_2_c;
+            *yuv2packed1 = yuv2rgbx64be_full_1_c;
+            break;
+        case AV_PIX_FMT_BGRX64LE:
+            *yuv2packedX = yuv2bgrx64le_full_X_c;
+            *yuv2packed2 = yuv2bgrx64le_full_2_c;
+            *yuv2packed1 = yuv2bgrx64le_full_1_c;
+            break;
+        case AV_PIX_FMT_BGRX64BE:
+            *yuv2packedX = yuv2bgrx64be_full_X_c;
+            *yuv2packed2 = yuv2bgrx64be_full_2_c;
+            *yuv2packed1 = yuv2bgrx64be_full_1_c;
+            break;
         case AV_PIX_FMT_RGB24:
             *yuv2packedX = yuv2rgb24_full_X_c;
             *yuv2packed2 = yuv2rgb24_full_2_c;
@@ -2968,6 +2987,26 @@ av_cold void ff_sws_init_output_funcs(SwsContext *c,
                 *yuv2packedX = yuv2bgrx64be_X_c;
             }
             break;
+        case AV_PIX_FMT_RGBX64LE:
+            *yuv2packed1 = yuv2rgbx64le_1_c;
+            *yuv2packed2 = yuv2rgbx64le_2_c;
+            *yuv2packedX = yuv2rgbx64le_X_c;
+            break;
+        case AV_PIX_FMT_RGBX64BE:
+            *yuv2packed1 = yuv2rgbx64be_1_c;
+            *yuv2packed2 = yuv2rgbx64be_2_c;
+            *yuv2packedX = yuv2rgbx64be_X_c;
+            break;
+        case AV_PIX_FMT_BGRX64LE:
+            *yuv2packed1 = yuv2bgrx64le_1_c;
+            *yuv2packed2 = yuv2bgrx64le_2_c;
+            *yuv2packedX = yuv2bgrx64le_X_c;
+            break;
+        case AV_PIX_FMT_BGRX64BE:
+            *yuv2packed1 = yuv2bgrx64be_1_c;
+            *yuv2packed2 = yuv2bgrx64be_2_c;
+            *yuv2packedX = yuv2bgrx64be_X_c;
+            break;
         case AV_PIX_FMT_RGB48LE:
             *yuv2packed1 = yuv2rgb48le_1_c;
             *yuv2packed2 = yuv2rgb48le_2_c;
diff --git a/libswscale/utils.c b/libswscale/utils.c
index 9ef157c006..4fd19efd5a 100644
--- a/libswscale/utils.c
+++ b/libswscale/utils.c
@@ -261,6 +261,10 @@ static const FormatEntry format_entries[] = {
     [AV_PIX_FMT_VUYA]        = { 1, 1 },
     [AV_PIX_FMT_RGBAF16BE]   = { 1, 0 },
     [AV_PIX_FMT_RGBAF16LE]   = { 1, 0 },
+    [AV_PIX_FMT_BGRX64LE]    = { 1, 1 },
+    [AV_PIX_FMT_BGRX64BE]    = { 1, 1 },
+    [AV_PIX_FMT_RGBX64LE]    = { 1, 1 },
+    [AV_PIX_FMT_RGBX64BE]    = { 1, 1 },
 };
 
 int ff_shuffle_filter_coefficients(SwsContext *c, int *filterPos,
diff --git a/tests/ref/fate/filter-pixdesc-bgrx64be b/tests/ref/fate/filter-pixdesc-bgrx64be
new file mode 100644
index 0000000000..8900d87751
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgrx64be
@@ -0,0 +1 @@
+pixdesc-bgrx64be    1f26682c0288762a7d175aa7bf02d4a6
diff --git a/tests/ref/fate/filter-pixdesc-bgrx64le b/tests/ref/fate/filter-pixdesc-bgrx64le
new file mode 100644
index 0000000000..3d72394cdd
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-bgrx64le
@@ -0,0 +1 @@
+pixdesc-bgrx64le    fd9ff6f178c540bc911409bdb0512550
diff --git a/tests/ref/fate/filter-pixdesc-rgbx64be b/tests/ref/fate/filter-pixdesc-rgbx64be
new file mode 100644
index 0000000000..12c6e783b8
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgbx64be
@@ -0,0 +1 @@
+pixdesc-rgbx64be    38d7a97006c798131cfe6cb157a8cf06
diff --git a/tests/ref/fate/filter-pixdesc-rgbx64le b/tests/ref/fate/filter-pixdesc-rgbx64le
new file mode 100644
index 0000000000..d4cd506451
--- /dev/null
+++ b/tests/ref/fate/filter-pixdesc-rgbx64le
@@ -0,0 +1 @@
+pixdesc-rgbx64le    5327e71d6ac0fa4c6286c5f9cf9afe72
diff --git a/tests/ref/fate/filter-pixfmts-copy b/tests/ref/fate/filter-pixfmts-copy
index 93dd611f97..d7a9e5ade2 100644
--- a/tests/ref/fate/filter-pixfmts-copy
+++ b/tests/ref/fate/filter-pixfmts-copy
@@ -18,6 +18,8 @@ bgr8                898a66734bda0572dfab1edd8239f6a2
 bgra                3934fb81a602dfa7d29420b1a66f0fd8
 bgra64be            c8d3217bf58d34f080ac88c0b0012c77
 bgra64le            b71d75a928aac14cb768403e6f6a9910
+bgrx64be            9890766ef9795596a1654edf436c1bfd
+bgrx64le            3c131f454cd66883c6b0d15118a1a41b
 gbrap               98d30987407c51e5620921e11d40a4ff
 gbrap10be           edcffb185e44b6dae5c2ead5505b7125
 gbrap10le           2a7392e14b21b1f9457526a071236a6d
@@ -88,6 +90,8 @@ rgb8                7ac6008c84d622c2fc50581706e17576
 rgba                b6e1b441c365e03b5ffdf9b7b68d9a0c
 rgba64be            ae2ae04b5efedca3505f47c4dd6ea6ea
 rgba64le            b91e1d77f799eb92241a2d2d28437b15
+rgbx64be            88a615aae08cdab9f2a929b4ac1c5f6b
+rgbx64le            eb21dc7b955de05662174ef4679d2970
 uyvy422             3bcf3c80047592f2211fae3260b1b65d
 vuya                3d5e934651cae1ce334001cb1829ad22
 x2bgr10le           550c0d190cf695afa4eaacb644db6b75
diff --git a/tests/ref/fate/filter-pixfmts-crop b/tests/ref/fate/filter-pixfmts-crop
index 739b99713a..457d8f7307 100644
--- a/tests/ref/fate/filter-pixfmts-crop
+++ b/tests/ref/fate/filter-pixfmts-crop
@@ -18,6 +18,8 @@ bgr8                142275ecc024d3f7b66c168ac2279ae2
 bgra                e66a5f68ba463cbc89fce23a61bb5203
 bgra64be            1ad8dd02714cafec793fb89577ddde47
 bgra64le            dd29ec9aba43aa3e8f9f5b9a93ca8831
+bgrx64be            fee9d02e0b18e9c0db4273dfff6f8fa1
+bgrx64le            568e196c8a3291cee4cb1c987ff5695d
 gbrap               188cd467fe7ae7d85ae9ca8bdfa07739
 gbrap10be           1880c4856d9cc6492b8b859f2711aaf1
 gbrap10le           c2b6e35f8b7ca363a7ec021ccdf31d1f
@@ -86,6 +88,8 @@ rgb8                9b364a8f112ad9459fec47a51cc03b30
 rgba                9488ac85abceaf99a9309eac5a87697e
 rgba64be            89910046972ab3c68e2a348302cc8ca9
 rgba64le            fea8ebfc869b52adf353778f29eac7a7
+rgbx64be            3309afdbfe1a95b47d3941ace3c685d4
+rgbx64le            9bea051c3c101d17e480dbc29f190507
 vuya                76578a705ff3a37559653c1289bd03dd
 x2bgr10le           84de725b85662c362862820dc4a309aa
 x2rgb10le           f4265aca7a67dbfa9354370098ca6f33
diff --git a/tests/ref/fate/filter-pixfmts-field b/tests/ref/fate/filter-pixfmts-field
index e08161bc0d..9f9a9c845d 100644
--- a/tests/ref/fate/filter-pixfmts-field
+++ b/tests/ref/fate/filter-pixfmts-field
@@ -18,6 +18,8 @@ bgr8                47b2118262ad932cacf731cb66905ffd
 bgra                66d6e0846990fff0f09a07c43c3add71
 bgra64be            ec0bdef8663dc9d73818a48419cb4764
 bgra64le            9e2def541e51bc6e77fbffbff7fa146a
+bgrx64be            abf647a91707da4ec82ba9a033537129
+bgrx64le            c12f77699978e9c7881c8af54129c7cd
 gbrap               08a28b79dbd19246d1a94e3466af3624
 gbrap10be           29d46cbf021b233f5f1886e5d5fe21b4
 gbrap10le           4017c5d8c124438eb9aefa107db58d3b
@@ -88,6 +90,8 @@ rgb8                62c3b9e2a171de3d894a8eeb271c85e8
 rgba                ee616262ca6d67b7ecfba4b36c602ce3
 rgba64be            23c8c0edaabe3eaec89ce69633fb0048
 rgba64le            dfdba4de4a7cac9abf08852666c341d3
+rgbx64be            91b57872e629e58fcbaa839fdb92603a
+rgbx64le            6aaffaa540d3a4621c9caf03e88230a7
 uyvy422             1c49e44ab3f060e85fc4a3a9464f045e
 vuya                f72bcf29d75cd143d0c565f7cc49119a
 x2bgr10le           dbe21538d7cb1744914f6bd46ec09b55
diff --git a/tests/ref/fate/filter-pixfmts-fieldorder b/tests/ref/fate/filter-pixfmts-fieldorder
index de5c4fe59b..9415e57abd 100644
--- a/tests/ref/fate/filter-pixfmts-fieldorder
+++ b/tests/ref/fate/filter-pixfmts-fieldorder
@@ -18,6 +18,8 @@ bgr8                cfc405aaf0162b4edfe9b3e047c5624d
 bgra                5967b559257dbb6784f93b9d2bef4edd
 bgra64be            64a4ec15bc35ede2018f650b50c2429b
 bgra64le            5029192d0f32383c9f25f8e7da7cb5a0
+bgrx64be            34bcfced68f85e09d610c36e5d9708be
+bgrx64le            a4639143ab29aaa1066d468abee2bb35
 gbrap               00afb65d44bea99c31b318fdbeb3be10
 gbrap10be           8b27254a69cd0e25fa55262a743f95e6
 gbrap10le           52278021718ec370903dccc923dc8bf6
@@ -79,6 +81,8 @@ rgb8                6deae05ccac5c50bd0d9c9fe8e124557
 rgba                1fdf872a087a32cd35b80cc7be399578
 rgba64be            5598f44514d122b9a57c5c92c20bbc61
 rgba64le            b34e6e30621ae579519a2d91a96a0acf
+rgbx64be            0ccf1f9f896500fb8b348a3748289651
+rgbx64le            c94c7cb01ad619d28938d80b72dd9f1f
 uyvy422             75de70e31c435dde878002d3f22b238a
 vuya                a3891d4168ff208948fd0b3ba0910495
 x2bgr10le           86474d84f26c5c51d6f75bf7e1de8da8
diff --git a/tests/ref/fate/filter-pixfmts-hflip b/tests/ref/fate/filter-pixfmts-hflip
index b0f6754bbf..5319826a8a 100644
--- a/tests/ref/fate/filter-pixfmts-hflip
+++ b/tests/ref/fate/filter-pixfmts-hflip
@@ -18,6 +18,8 @@ bgr8                67fb3fd116f0c0eb36d8ed03bdfbb0a6
 bgra                275f05a382bcbc9bc77c06b79e1d8a71
 bgra64be            1cabeafe9c21a4f7ccd976220f22ee5a
 bgra64le            1b15c01c94cf9af89273da1d1f994cff
+bgrx64be            3431886ec04af7fa98622467bf03256d
+bgrx64le            1d0372e87240f1065b08bef1923ee9a2
 gbrap               bf6a2b2f206fbbb332a718fb570d7cb7
 gbrap10be           f188dc23756469cbdd172fe97ad58121
 gbrap10le           262f0501633ea4670020fae8ac6835e2
@@ -86,6 +88,8 @@ rgb8                68a3a575badadd9e4f90226209f11699
 rgba                51961c723ea6707e0a410cd3f21f15d3
 rgba64be            c910444019f4cfbf4d995227af55da8d
 rgba64le            0c810d8b3a6bca10321788e1cb145340
+rgbx64be            3fc71cec8fd043c20e1cafb65e73bab7
+rgbx64le            3b93c29f530d78f27a4efc2f1d3bd943
 vuya                7e530261e7ac4eae4fd616fd7572d0b8
 x2bgr10le           827cc659f29378e00c5a7d2c0ada8f9a
 x2rgb10le           d4a8189b65395a88d0a38a7053f3359f
diff --git a/tests/ref/fate/filter-pixfmts-il b/tests/ref/fate/filter-pixfmts-il
index 04efcb8a56..f720a8b915 100644
--- a/tests/ref/fate/filter-pixfmts-il
+++ b/tests/ref/fate/filter-pixfmts-il
@@ -18,6 +18,8 @@ bgr8                ef01593604512621b3d175f8b6c2ec9e
 bgra                e6ae08f06f157297296b319a249dddf5
 bgra64be            de7c036f20fc54d89690239cc6239678
 bgra64le            d1aa975fa03ce226008396b30a653420
+bgrx64be            fd0fe7fa812140cfef2306dffa6495c6
+bgrx64le            6ba8c8f64e74c2926493938841b55860
 gbrap               575ff1fe5d7585ed82da1db35f106e4c
 gbrap10be           bafa57a2e4331d8a39f6f0087c85d4b1
 gbrap10le           553a1f439d8184dc400432d3f786fbce
@@ -87,6 +89,8 @@ rgb8                93f9fa5ecf522abe13ed34f21831fdfe
 rgba                625d8f4bd39c4bdbf61eb5e4713aecc9
 rgba64be            db70d33aa6c06f3e0a1c77bd11284261
 rgba64le            a8a2daae04374a27219bc1c890204007
+rgbx64be            60f922c4d13e22a969328814b049c128
+rgbx64le            9bffe342c46d88b9b8de7ac1a8fe382e
 uyvy422             d6ee3ca43356d08c392382b24b22cda5
 vuya                b9deab5ba249dd608b709c09255a4932
 x2bgr10le           135acaff8318cf9861bb0f7849a9e5e9
diff --git a/tests/ref/fate/filter-pixfmts-null b/tests/ref/fate/filter-pixfmts-null
index 93dd611f97..d7a9e5ade2 100644
--- a/tests/ref/fate/filter-pixfmts-null
+++ b/tests/ref/fate/filter-pixfmts-null
@@ -18,6 +18,8 @@ bgr8                898a66734bda0572dfab1edd8239f6a2
 bgra                3934fb81a602dfa7d29420b1a66f0fd8
 bgra64be            c8d3217bf58d34f080ac88c0b0012c77
 bgra64le            b71d75a928aac14cb768403e6f6a9910
+bgrx64be            9890766ef9795596a1654edf436c1bfd
+bgrx64le            3c131f454cd66883c6b0d15118a1a41b
 gbrap               98d30987407c51e5620921e11d40a4ff
 gbrap10be           edcffb185e44b6dae5c2ead5505b7125
 gbrap10le           2a7392e14b21b1f9457526a071236a6d
@@ -88,6 +90,8 @@ rgb8                7ac6008c84d622c2fc50581706e17576
 rgba                b6e1b441c365e03b5ffdf9b7b68d9a0c
 rgba64be            ae2ae04b5efedca3505f47c4dd6ea6ea
 rgba64le            b91e1d77f799eb92241a2d2d28437b15
+rgbx64be            88a615aae08cdab9f2a929b4ac1c5f6b
+rgbx64le            eb21dc7b955de05662174ef4679d2970
 uyvy422             3bcf3c80047592f2211fae3260b1b65d
 vuya                3d5e934651cae1ce334001cb1829ad22
 x2bgr10le           550c0d190cf695afa4eaacb644db6b75
diff --git a/tests/ref/fate/filter-pixfmts-scale b/tests/ref/fate/filter-pixfmts-scale
index f4822f5bae..1a110ab626 100644
--- a/tests/ref/fate/filter-pixfmts-scale
+++ b/tests/ref/fate/filter-pixfmts-scale
@@ -18,6 +18,8 @@ bgr8                2c57e76ccf04d51de6acafcf35d6fa70
 bgra                d8316272bc3a360ef9dff3ecc84520a3
 bgra64be            4e6a1b9f9c18b881c27d76611d45f737
 bgra64le            efeee0abcc658ebcff049d5e74d74943
+bgrx64be            ff2b100a2dcbfb8bda38b67c70782079
+bgrx64le            b42c0d43afec6345acf88a7f057837e0
 gbrap               4a100f750ac846b34bfeef0d6893c3de
 gbrap10be           50735fbc471a5ac5a6645c85881f3670
 gbrap10le           6e1cba57029fdf0f9d46b5e5cd55112b
@@ -88,6 +90,8 @@ rgb8                bcdc033b4ef0979d060dbc8893d4db58
 rgba                85bb5d03cea1c6e8002ced3373904336
 rgba64be            ee73e57923af984b31cc7795d13929da
 rgba64le            783d2779adfafe3548bdb671ec0de69e
+rgbx64be            8ef5ed9963f2fdd35bedc1084d0c8fbc
+rgbx64le            d4cbd1a96be118bf5ccd85def8ea21bb
 uyvy422             aeb4ba4f9f003ae21f6d18089198244f
 vuya                ffa817e283bf6a0b6fba21b07523ccaa
 x2bgr10le           d57b9a99033cc7b65ddd111578f2d385
diff --git a/tests/ref/fate/filter-pixfmts-transpose b/tests/ref/fate/filter-pixfmts-transpose
index b3f2d5c5a0..768c9da2b9 100644
--- a/tests/ref/fate/filter-pixfmts-transpose
+++ b/tests/ref/fate/filter-pixfmts-transpose
@@ -18,6 +18,8 @@ bgr8                b6ee15f70989d2f52f184e32b3af2c18
 bgra                f2fe61e08446900ad209f2c586997e15
 bgra64be            8d01994c8c32e628fcf9749851f1ffe8
 bgra64le            faaef6d280f92e7e8abdd9fa4a61f7b5
+bgrx64be            9e1abb244711d1f56b30b5066a52c685
+bgrx64le            6b45c23ca153cb9577cc24cd9660263e
 gbrap               0899b3af50d35a63bfecb419a5b29968
 gbrap10be           3e3be2d8f9aa5f449a1df404e27d0054
 gbrap10le           db4e4861010cbbf726492fad282d5813
@@ -80,6 +82,8 @@ rgb8                c90feb30c3c9391ef5f470209d7b7a15
 rgba                4d76a9542143752a4ac30f82f88f68f1
 rgba64be            a60041217f4c0cd796d19d3940a12a41
 rgba64le            ad47197774858858ae7b0c177dffa459
+rgbx64be            7608654121f7265a0ae1ccb66f84fcd4
+rgbx64le            a338ddc615bb4f370b7b358fdbe4974f
 vuya                9ece18a345beb17cd19e09e443eca4bf
 x2bgr10le           4aa774b6d8f6d446a64f1f288e5c97eb
 x2rgb10le           09cb1d98fe17ad8a6d9d3bec97ddc845
diff --git a/tests/ref/fate/filter-pixfmts-vflip b/tests/ref/fate/filter-pixfmts-vflip
index 9081ce4f18..32c6539e37 100644
--- a/tests/ref/fate/filter-pixfmts-vflip
+++ b/tests/ref/fate/filter-pixfmts-vflip
@@ -18,6 +18,8 @@ bgr8                f2e4aabfe9e6039beb1f2b8c43c83e3c
 bgra                0af63cc2ffd61af252df93cc767de358
 bgra64be            31af33833f6d8f2e4a62683288770aa4
 bgra64le            45feb93863055282447d1ff89c5158bf
+bgrx64be            273e2ff2a2b830d24bde86113d350db1
+bgrx64le            f8902ba6abe2220c6d387ed3cdc4827c
 gbrap               421c56a25f88d58b9361f5c7bb368e21
 gbrap10be           e8134b72acc090b093b4d9b4d4703c7e
 gbrap10le           43bde7bd6a676c6ac33dbcc4c72762f3
@@ -88,6 +90,8 @@ rgb8                7df049b6094f8a5e084d74462f6d6cde
 rgba                c1a5908572737f2ae1e5d8218af65f4b
 rgba64be            17e6273323b5779b5f3f775f150c1011
 rgba64le            48f45b10503b7dd140329c3dd0d54c98
+rgbx64be            917675dc62539faf9575cf412aba142e
+rgbx64le            7b958c2a1e79fa44121b16e84037c33f
 uyvy422             3a237e8376264e0cfa78f8a3fdadec8a
 vuya                fb849f76e56181e005c31fce75d7038c
 x2bgr10le           795b66a5fc83cd2cf300aae51c230f80
-- 
2.37.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-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-08-21 23:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-21 23:12 [FFmpeg-devel] [PATCH 1/2] lavu/pix_fmt: add rgbx64 and bgrx64 pixel formats ffmpeg
2022-08-21 23:12 ` [FFmpeg-devel] [PATCH 2/2] swscale: add conversions for rgb/bgrx64 formats ffmpeg

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git