summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu Yang <yuyang14@kuaishou.com>2021-12-15 10:17:02 +0800
committerAnton Khirnov <anton@khirnov.net>2022-01-03 20:34:45 +0100
commit5e2a1f1e7db630d547e89988414499ea788bd68e (patch)
tree16e25dc0f6721924bbd67cae32e9f3f087ea8083
parent064ab95cc78249c95d0257db249483bb38b59829 (diff)
libavcodec/pthread_frame: remove duplicate pointers
'*src' and '*avctx' point to the same memory. It is enough to keep one of them. Signed-off-by: Yu Yang <yuyang14@kuaishou.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
-rw-r--r--libavcodec/pthread_frame.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/libavcodec/pthread_frame.c b/libavcodec/pthread_frame.c
index 73b1b7d7d9..85a6bc98c1 100644
--- a/libavcodec/pthread_frame.c
+++ b/libavcodec/pthread_frame.c
@@ -765,14 +765,14 @@ void ff_frame_thread_free(AVCodecContext *avctx, int thread_count)
static av_cold int init_thread(PerThreadContext *p, int *threads_to_free,
FrameThreadContext *fctx, AVCodecContext *avctx,
- AVCodecContext *src, const AVCodec *codec, int first)
+ const AVCodec *codec, int first)
{
AVCodecContext *copy;
int err;
atomic_init(&p->state, STATE_INPUT_READY);
- copy = av_memdup(src, sizeof(*src));
+ copy = av_memdup(avctx, sizeof(*avctx));
if (!copy)
return AVERROR(ENOMEM);
copy->priv_data = NULL;
@@ -784,7 +784,7 @@ static av_cold int init_thread(PerThreadContext *p, int *threads_to_free,
p->parent = fctx;
p->avctx = copy;
- copy->internal = av_memdup(src->internal, sizeof(*src->internal));
+ copy->internal = av_memdup(avctx->internal, sizeof(*avctx->internal));
if (!copy->internal)
return AVERROR(ENOMEM);
copy->internal->thread_ctx = p;
@@ -798,7 +798,7 @@ static av_cold int init_thread(PerThreadContext *p, int *threads_to_free,
if (codec->priv_class) {
*(const AVClass **)copy->priv_data = codec->priv_class;
- err = av_opt_copy(copy->priv_data, src->priv_data);
+ err = av_opt_copy(copy->priv_data, avctx->priv_data);
if (err < 0)
return err;
}
@@ -843,7 +843,6 @@ int ff_frame_thread_init(AVCodecContext *avctx)
{
int thread_count = avctx->thread_count;
const AVCodec *codec = avctx->codec;
- AVCodecContext *src = avctx;
FrameThreadContext *fctx;
int err, i = 0;
@@ -876,7 +875,7 @@ int ff_frame_thread_init(AVCodecContext *avctx)
fctx->delaying = 1;
if (codec->type == AVMEDIA_TYPE_VIDEO)
- avctx->delay = src->thread_count - 1;
+ avctx->delay = avctx->thread_count - 1;
fctx->threads = av_calloc(thread_count, sizeof(*fctx->threads));
if (!fctx->threads) {
@@ -888,7 +887,7 @@ int ff_frame_thread_init(AVCodecContext *avctx)
PerThreadContext *p = &fctx->threads[i];
int first = !i;
- err = init_thread(p, &i, fctx, avctx, src, codec, first);
+ err = init_thread(p, &i, fctx, avctx, codec, first);
if (err < 0)
goto error;
}