Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGil Pedersen <git@gpost.dk>2020-11-18 16:05:17 +0300
committerJames Almer <jamrial@gmail.com>2020-11-19 16:09:47 +0300
commit2b6b19dd9bd070cba8673a821f14d26a92d7f0d7 (patch)
tree9e92d9a4a3b87944e3438d268f9aa7954dce2d9a /libavutil/frame.c
parentabcca6a055919916fcd199c6e40d5102a3de4a70 (diff)
avutil/frame: use av_buffer_replace() to simplify code
Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Gil Pedersen <git@gpost.dk> Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavutil/frame.c')
-rw-r--r--libavutil/frame.c31
1 files changed, 9 insertions, 22 deletions
diff --git a/libavutil/frame.c b/libavutil/frame.c
index 3ab1aa3242..42d3009212 100644
--- a/libavutil/frame.c
+++ b/libavutil/frame.c
@@ -349,7 +349,7 @@ int av_frame_get_buffer(AVFrame *frame, int align)
static int frame_copy_props(AVFrame *dst, const AVFrame *src, int force_copy)
{
- int i;
+ int ret, i;
dst->key_frame = src->key_frame;
dst->pict_type = src->pict_type;
@@ -426,31 +426,18 @@ FF_DISABLE_DEPRECATION_WARNINGS
dst->qscale_table = NULL;
dst->qstride = 0;
dst->qscale_type = 0;
- av_buffer_unref(&dst->qp_table_buf);
- if (src->qp_table_buf) {
- dst->qp_table_buf = av_buffer_ref(src->qp_table_buf);
- if (dst->qp_table_buf) {
- dst->qscale_table = dst->qp_table_buf->data;
- dst->qstride = src->qstride;
- dst->qscale_type = src->qscale_type;
- }
+ av_buffer_replace(&dst->qp_table_buf, src->qp_table_buf);
+ if (dst->qp_table_buf) {
+ dst->qscale_table = dst->qp_table_buf->data;
+ dst->qstride = src->qstride;
+ dst->qscale_type = src->qscale_type;
}
FF_ENABLE_DEPRECATION_WARNINGS
#endif
- av_buffer_unref(&dst->opaque_ref);
- av_buffer_unref(&dst->private_ref);
- if (src->opaque_ref) {
- dst->opaque_ref = av_buffer_ref(src->opaque_ref);
- if (!dst->opaque_ref)
- return AVERROR(ENOMEM);
- }
- if (src->private_ref) {
- dst->private_ref = av_buffer_ref(src->private_ref);
- if (!dst->private_ref)
- return AVERROR(ENOMEM);
- }
- return 0;
+ ret = av_buffer_replace(&dst->opaque_ref, src->opaque_ref);
+ ret |= av_buffer_replace(&dst->private_ref, src->private_ref);
+ return ret;
}
int av_frame_ref(AVFrame *dst, const AVFrame *src)