mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avfilter/vf_lut2: add timeline support to tlut2 filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
This commit is contained in:
parent
a27cab9eca
commit
2bde38c0ab
@ -401,18 +401,26 @@ static av_cold int init(AVFilterContext *ctx)
|
||||
|
||||
static int tlut2_filter_frame(AVFilterLink *inlink, AVFrame *frame)
|
||||
{
|
||||
LUT2Context *s = inlink->dst->priv;
|
||||
AVFilterLink *outlink = inlink->dst->outputs[0];
|
||||
AVFilterContext *ctx = inlink->dst;
|
||||
LUT2Context *s = ctx->priv;
|
||||
AVFilterLink *outlink = ctx->outputs[0];
|
||||
|
||||
if (s->prev_frame) {
|
||||
AVFrame *out = ff_get_video_buffer(outlink, outlink->w, outlink->h);
|
||||
if (!out) {
|
||||
av_frame_free(&s->prev_frame);
|
||||
s->prev_frame = frame;
|
||||
return AVERROR(ENOMEM);
|
||||
AVFrame *out;
|
||||
|
||||
if (ctx->is_disabled) {
|
||||
out = av_frame_clone(frame);
|
||||
} else {
|
||||
out = ff_get_video_buffer(outlink, outlink->w, outlink->h);
|
||||
if (!out) {
|
||||
av_frame_free(&s->prev_frame);
|
||||
s->prev_frame = frame;
|
||||
return AVERROR(ENOMEM);
|
||||
}
|
||||
|
||||
av_frame_copy_props(out, frame);
|
||||
s->lut2(s, out, frame, s->prev_frame);
|
||||
}
|
||||
av_frame_copy_props(out, frame);
|
||||
s->lut2(s, out, frame, s->prev_frame);
|
||||
av_frame_free(&s->prev_frame);
|
||||
s->prev_frame = frame;
|
||||
return ff_filter_frame(outlink, out);
|
||||
@ -454,6 +462,7 @@ AVFilter ff_vf_tlut2 = {
|
||||
.uninit = uninit,
|
||||
.inputs = tlut2_inputs,
|
||||
.outputs = tlut2_outputs,
|
||||
.flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL,
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user