summaryrefslogtreecommitdiff
path: root/libavfilter/vf_eq.c
diff options
context:
space:
mode:
authorthe.real.laplace@gmail.com <the.real.laplace@gmail.com>2021-10-18 14:29:48 +0300
committerMichael Niedermayer <michael@niedermayer.cc>2021-10-21 14:13:03 +0200
commitc13a2f701db21d3ea2763ca85cb5fd21e032fd13 (patch)
tree3eddf06bae2f5b2ca4f854e6cf61cce24e003670 /libavfilter/vf_eq.c
parent2aa343bb6f8577faff99ecb29f2a71011ceb35b1 (diff)
downloadffmpeg-c13a2f701db21d3ea2763ca85cb5fd21e032fd13.tar.gz
avfilter/vf_eq: add support for alpha channel
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavfilter/vf_eq.c')
-rw-r--r--libavfilter/vf_eq.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/libavfilter/vf_eq.c b/libavfilter/vf_eq.c
index 4a0d85e8e5..80ab21efb3 100644
--- a/libavfilter/vf_eq.c
+++ b/libavfilter/vf_eq.c
@@ -236,9 +236,9 @@ static const enum AVPixelFormat pixel_fmts_eq[] = {
AV_PIX_FMT_GRAY8,
AV_PIX_FMT_YUV410P,
AV_PIX_FMT_YUV411P,
- AV_PIX_FMT_YUV420P,
- AV_PIX_FMT_YUV422P,
- AV_PIX_FMT_YUV444P,
+ AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUVA420P,
+ AV_PIX_FMT_YUV422P, AV_PIX_FMT_YUVA422P,
+ AV_PIX_FMT_YUV444P, AV_PIX_FMT_YUVA444P,
AV_PIX_FMT_NONE
};
@@ -281,12 +281,13 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
h = AV_CEIL_RSHIFT(h, desc->log2_chroma_h);
}
- if (eq->param[i].adjust)
- eq->param[i].adjust(&eq->param[i], out->data[i], out->linesize[i],
- in->data[i], in->linesize[i], w, h);
- else
+ if (i == 3 || !eq->param[i].adjust)
av_image_copy_plane(out->data[i], out->linesize[i],
in->data[i], in->linesize[i], w, h);
+
+ else
+ eq->param[i].adjust(&eq->param[i], out->data[i], out->linesize[i],
+ in->data[i], in->linesize[i], w, h);
}
av_frame_free(&in);