summaryrefslogtreecommitdiff
path: root/libavfilter/avfilter.c
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2021-08-02 09:55:27 -0300
committerJames Almer <jamrial@gmail.com>2021-08-03 18:41:31 -0300
commite0b84d10696c818e4c7bdc3314ba14cc3cedde29 (patch)
tree6d81a2ed25c579c7a153bcd569e915007bc63f59 /libavfilter/avfilter.c
parent8b83dad82512a6948b63408f964463b063ad24c9 (diff)
avfilter/avfilter: use av_frame_copy() to copy frame data
Reviewed-by: Paul B Mahol <onemda@gmail.com> Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavfilter/avfilter.c')
-rw-r--r--libavfilter/avfilter.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c
index c04afc6639..87f04dfc57 100644
--- a/libavfilter/avfilter.c
+++ b/libavfilter/avfilter.c
@@ -25,8 +25,8 @@
#include "libavutil/channel_layout.h"
#include "libavutil/common.h"
#include "libavutil/eval.h"
+#include "libavutil/frame.h"
#include "libavutil/hwcontext.h"
-#include "libavutil/imgutils.h"
#include "libavutil/internal.h"
#include "libavutil/opt.h"
#include "libavutil/pixdesc.h"
@@ -1446,19 +1446,10 @@ int ff_inlink_make_frame_writable(AVFilterLink *link, AVFrame **rframe)
return ret;
}
- switch (link->type) {
- case AVMEDIA_TYPE_VIDEO:
- av_image_copy(out->data, out->linesize, (const uint8_t **)frame->data, frame->linesize,
- frame->format, frame->width, frame->height);
- break;
- case AVMEDIA_TYPE_AUDIO:
- av_samples_copy(out->extended_data, frame->extended_data,
- 0, 0, frame->nb_samples,
- frame->channels,
- frame->format);
- break;
- default:
- av_assert0(!"reached");
+ ret = av_frame_copy(out, frame);
+ if (ret < 0) {
+ av_frame_free(&out);
+ return ret;
}
av_frame_free(&frame);