ffmpeg | branch: master | Paul B Mahol <one...@gmail.com> | Mon Feb 21 00:05:26 2022 +0100| [105234ce80249d217cff5978ad7683d53698955a] | committer: Paul B Mahol
avfilter/vf_maskedmerge: add float pixel formats > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=105234ce80249d217cff5978ad7683d53698955a --- libavfilter/vf_maskedmerge.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/libavfilter/vf_maskedmerge.c b/libavfilter/vf_maskedmerge.c index dca4bc5194..11492af61f 100644 --- a/libavfilter/vf_maskedmerge.c +++ b/libavfilter/vf_maskedmerge.c @@ -56,6 +56,7 @@ static const enum AVPixelFormat pix_fmts[] = { AV_PIX_FMT_GBRP12, AV_PIX_FMT_GBRP14, AV_PIX_FMT_GBRP16, AV_PIX_FMT_GBRAP, AV_PIX_FMT_GBRAP10, AV_PIX_FMT_GBRAP12, AV_PIX_FMT_GBRAP16, AV_PIX_FMT_GRAY8, AV_PIX_FMT_GRAY9, AV_PIX_FMT_GRAY10, AV_PIX_FMT_GRAY12, AV_PIX_FMT_GRAY14, AV_PIX_FMT_GRAY16, + AV_PIX_FMT_GRAYF32, AV_PIX_FMT_GBRPF32, AV_PIX_FMT_GBRAPF32, AV_PIX_FMT_NONE }; @@ -157,7 +158,7 @@ static void maskedmerge##n(const uint8_t *bbsrc, const uint8_t *oosrc, \ \ for (int y = 0; y < h; y++) { \ for (int x = 0; x < w; x++) { \ - dst[x] = bsrc[x] + ((msrc[x] * (osrc[x] - bsrc[x]) + half) >> shift); \ + dst[x] = bsrc[x] + ((msrc[x] * (osrc[x] - bsrc[x]) + half) shift); \ } \ \ dst += dlinesize; \ @@ -167,8 +168,9 @@ static void maskedmerge##n(const uint8_t *bbsrc, const uint8_t *oosrc, \ } \ } -MASKEDMERGE(8, uint8_t, 128, 8) -MASKEDMERGE(16, uint16_t, hhalf, sshift) +MASKEDMERGE(8, uint8_t, 128, >> 8) +MASKEDMERGE(16, uint16_t, hhalf, >> sshift) +MASKEDMERGE(32, float, 0.f, + 0.f) static int config_input(AVFilterLink *inlink) { @@ -189,10 +191,12 @@ static int config_input(AVFilterLink *inlink) s->depth = desc->comp[0].depth; s->half = (1 << s->depth) / 2; - if (desc->comp[0].depth == 8) + if (s->depth == 8) s->maskedmerge = maskedmerge8; - else + else if (s->depth <= 16) s->maskedmerge = maskedmerge16; + else + s->maskedmerge = maskedmerge32; if (ARCH_X86) ff_maskedmerge_init_x86(s); _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".