[FFmpeg-cvslog] avfilter/vf_extractplanes: add support for packed rgb float formats

Paul B Mahol git at videolan.org
Sun Sep 25 19:33:17 EEST 2022


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Wed Sep 14 16:41:48 2022 +0200| [9995a76f7c5b507c0304de6a926b32c70d5ea2aa] | committer: Paul B Mahol

avfilter/vf_extractplanes: add support for packed rgb float formats

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9995a76f7c5b507c0304de6a926b32c70d5ea2aa
---

 libavfilter/vf_extractplanes.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/libavfilter/vf_extractplanes.c b/libavfilter/vf_extractplanes.c
index 60b55578cf..3c794eaa28 100644
--- a/libavfilter/vf_extractplanes.c
+++ b/libavfilter/vf_extractplanes.c
@@ -124,6 +124,7 @@ AVFILTER_DEFINE_CLASS(extractplanes);
 
 #define FLOAT_FORMATS(suf)                                     \
         AV_PIX_FMT_GRAYF32##suf,                               \
+        AV_PIX_FMT_RGBF32##suf, AV_PIX_FMT_RGBAF32##suf,       \
         AV_PIX_FMT_GBRPF32##suf, AV_PIX_FMT_GBRAPF32##suf      \
 
 static int query_formats(AVFilterContext *ctx)
@@ -283,6 +284,13 @@ static void extract_from_packed(uint8_t *dst, int dst_linesize,
                 dst[x * 2    ] = src[x * step + comp * 2    ];
                 dst[x * 2 + 1] = src[x * step + comp * 2 + 1];
             }
+        case 4:
+            for (x = 0; x < width; x++) {
+                dst[x * 4    ] = src[x * step + comp * 4    ];
+                dst[x * 4 + 1] = src[x * step + comp * 4 + 1];
+                dst[x * 4 + 2] = src[x * step + comp * 4 + 2];
+                dst[x * 4 + 3] = src[x * step + comp * 4 + 3];
+            }
             break;
         }
         dst += dst_linesize;



More information about the ffmpeg-cvslog mailing list