diff mbox series

[FFmpeg-devel] GBRAP14 support for MagicYUV

Message ID CAPYw7P7Qc-ib6CczELCmEDkXoSh65F7VViJn3aYBnztB-epN0g@mail.gmail.com
State New
Headers show
Series [FFmpeg-devel] GBRAP14 support for MagicYUV | expand

Checks

Context Check Description
andriy/make_x86 fail Make failed

Commit Message

Paul B Mahol Sept. 27, 2023, 5:24 p.m. UTC
Attached.

Comments

Michael Niedermayer Sept. 28, 2023, 10:07 a.m. UTC | #1
On Wed, Sep 27, 2023 at 07:24:50PM +0200, Paul B Mahol wrote:
> Attached.

>  pixdesc.c |   28 ++++++++++++++++++++++++++++
>  pixfmt.h  |    4 ++++
>  2 files changed, 32 insertions(+)
> dc323faf13db2ffbefdd8ce2c25ba3a97633e0eb  0001-avutil-add-GBRAP14-format-support.patch
> From 3e58da932f88e6781eb772d883efa6f0997de936 Mon Sep 17 00:00:00 2001
> From: Paul B Mahol <onemda@gmail.com>
> Date: Wed, 27 Sep 2023 16:06:02 +0200
> Subject: [PATCH 1/4] avutil: add GBRAP14 format support
> 
> Signed-off-by: Paul B Mahol <onemda@gmail.com>
> ---
>  libavutil/pixdesc.c | 28 ++++++++++++++++++++++++++++
>  libavutil/pixfmt.h  |  4 ++++
>  2 files changed, 32 insertions(+)
> 
> diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c
> index e1e0dd2a9e..6ded9467b0 100644
> --- a/libavutil/pixdesc.c
> +++ b/libavutil/pixdesc.c
> @@ -2223,6 +2223,34 @@ static const AVPixFmtDescriptor av_pix_fmt_descriptors[AV_PIX_FMT_NB] = {
>          },
>          .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_BE,
>      },
> +    [AV_PIX_FMT_GBRAP14LE] = {
> +        .name = "gbrap14le",
> +        .nb_components = 4,
> +        .log2_chroma_w = 0,
> +        .log2_chroma_h = 0,
> +        .comp = {
> +            { 2, 2, 0, 0, 14 },       /* R */
> +            { 0, 2, 0, 0, 14 },       /* G */
> +            { 1, 2, 0, 0, 14 },       /* B */
> +            { 3, 2, 0, 0, 14 },       /* A */
> +        },
> +        .flags = AV_PIX_FMT_FLAG_PLANAR | AV_PIX_FMT_FLAG_RGB |
> +                 AV_PIX_FMT_FLAG_ALPHA,
> +    },
> +    [AV_PIX_FMT_GBRAP14BE] = {
> +        .name = "gbrap14be",
> +        .nb_components = 4,
> +        .log2_chroma_w = 0,
> +        .log2_chroma_h = 0,
> +        .comp = {
> +            { 2, 2, 0, 0, 14 },       /* R */
> +            { 0, 2, 0, 0, 14 },       /* G */
> +            { 1, 2, 0, 0, 14 },       /* B */
> +            { 3, 2, 0, 0, 14 },       /* A */
> +        },
> +        .flags = AV_PIX_FMT_FLAG_BE | AV_PIX_FMT_FLAG_PLANAR |
> +                 AV_PIX_FMT_FLAG_RGB | AV_PIX_FMT_FLAG_ALPHA,
> +    },
>      [AV_PIX_FMT_GBRAP12LE] = {
>          .name = "gbrap12le",
>          .nb_components = 4,
> diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
> index 63e07ba64f..a26c72d56b 100644
> --- a/libavutil/pixfmt.h
> +++ b/libavutil/pixfmt.h
> @@ -426,6 +426,9 @@ enum AVPixelFormat {
>      AV_PIX_FMT_P412BE,      ///< interleaved chroma YUV 4:4:4, 36bpp, data in the high bits, big-endian
>      AV_PIX_FMT_P412LE,      ///< interleaved chroma YUV 4:4:4, 36bpp, data in the high bits, little-endian
>  
> +    AV_PIX_FMT_GBRAP14BE,  ///< planar GBR 4:4:4:4 56bpp, big-endian
> +    AV_PIX_FMT_GBRAP14LE,  ///< planar GBR 4:4:4:4 56bpp, 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
>  };
>  
> @@ -484,6 +487,7 @@ enum AVPixelFormat {
>  #define AV_PIX_FMT_GBRP16    AV_PIX_FMT_NE(GBRP16BE,    GBRP16LE)
>  #define AV_PIX_FMT_GBRAP10   AV_PIX_FMT_NE(GBRAP10BE,   GBRAP10LE)
>  #define AV_PIX_FMT_GBRAP12   AV_PIX_FMT_NE(GBRAP12BE,   GBRAP12LE)
> +#define AV_PIX_FMT_GBRAP14   AV_PIX_FMT_NE(GBRAP14BE,   GBRAP14LE)
>  #define AV_PIX_FMT_GBRAP16   AV_PIX_FMT_NE(GBRAP16BE,   GBRAP16LE)
>  
>  #define AV_PIX_FMT_BAYER_BGGR16 AV_PIX_FMT_NE(BAYER_BGGR16BE,    BAYER_BGGR16LE)
> -- 
> 2.42.0
> 

>  libavformat/nut.c                        |    2 ++
>  libswscale/input.c                       |    7 +++++++
>  libswscale/output.c                      |    2 ++
>  libswscale/swscale_unscaled.c            |    3 +++
>  libswscale/utils.c                       |    6 ++++++
>  tests/ref/fate/filter-pixdesc-gbrap14be  |    1 +
>  tests/ref/fate/filter-pixdesc-gbrap14le  |    1 +
>  tests/ref/fate/filter-pixfmts-copy       |    2 ++
>  tests/ref/fate/filter-pixfmts-crop       |    2 ++
>  tests/ref/fate/filter-pixfmts-field      |    2 ++
>  tests/ref/fate/filter-pixfmts-fieldorder |    2 ++
>  tests/ref/fate/filter-pixfmts-hflip      |    2 ++
>  tests/ref/fate/filter-pixfmts-il         |    2 ++
>  tests/ref/fate/filter-pixfmts-null       |    2 ++
>  tests/ref/fate/filter-pixfmts-pad        |    1 +
>  tests/ref/fate/filter-pixfmts-scale      |    2 ++
>  tests/ref/fate/filter-pixfmts-transpose  |    2 ++
>  tests/ref/fate/filter-pixfmts-vflip      |    2 ++
>  18 files changed, 43 insertions(+)
> 025cfa7df85fab9943d3049f729c25db5934eb3f  0002-swscale-add-GBRAP14-format-support.patch
> From 517fc54c52cfdcdbc6920ede04b215ed27429b00 Mon Sep 17 00:00:00 2001
> From: Paul B Mahol <onemda@gmail.com>
> Date: Wed, 27 Sep 2023 16:13:16 +0200
> Subject: [PATCH 2/4] swscale: add GBRAP14 format support

LGTM assuming you vissually confirmed output look correct

fate tests also pass on x86 32/64 mingw32/64 (arm/mips still running, if you
hear nothing more then they passed too)

thx

[...]
diff mbox series

Patch

From 866363f60c48c397088905c49ede8cfcfdd2125d Mon Sep 17 00:00:00 2001
From: Paul B Mahol <onemda@gmail.com>
Date: Wed, 27 Sep 2023 17:08:16 +0200
Subject: [PATCH 4/4] avfilter/vf_extractplanes: add GBRAP14 support

Signed-off-by: Paul B Mahol <onemda@gmail.com>
---
 libavfilter/vf_extractplanes.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavfilter/vf_extractplanes.c b/libavfilter/vf_extractplanes.c
index 453e51a1ea..7b7149ab24 100644
--- a/libavfilter/vf_extractplanes.c
+++ b/libavfilter/vf_extractplanes.c
@@ -119,7 +119,7 @@  AVFILTER_DEFINE_CLASS(extractplanes);
         AV_PIX_FMT_YUVA422P9##suf,                             \
         AV_PIX_FMT_YUVA444P9##suf,                             \
         AV_PIX_FMT_GBRP9##suf,                                 \
-        AV_PIX_FMT_GBRP14##suf,                                \
+        AV_PIX_FMT_GBRP14##suf, AV_PIX_FMT_GBRAP14##suf,       \
         AV_PIX_FMT_YUV420P14##suf,                             \
         AV_PIX_FMT_YUV422P14##suf,                             \
         AV_PIX_FMT_YUV444P14##suf
-- 
2.42.0