diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-05-12 04:22:32 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2021-06-08 12:52:50 +0200 |
commit | 73f9d5b6735cd9f939859f6a8540daa88877ab89 (patch) | |
tree | c8e3fec6b002b71e22eeaa274256f72093bb4d8b /libavcodec | |
parent | 7e03d962a43b33811f6c0f09e72926e7684e96e8 (diff) | |
download | ffmpeg-73f9d5b6735cd9f939859f6a8540daa88877ab89.tar.gz |
avcodec/avcodec: Avoid redundant copies of options in avcodec_open2
It is no longer necessary now that ff_frame_thread_encoder_init()
no longer receives an options dictionary.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/avcodec.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/libavcodec/avcodec.c b/libavcodec/avcodec.c index 6f61ae246d..a65109e799 100644 --- a/libavcodec/avcodec.c +++ b/libavcodec/avcodec.c @@ -135,7 +135,6 @@ static int64_t get_bit_rate(AVCodecContext *ctx) int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options) { int ret = 0; - AVDictionary *tmp = NULL; AVCodecInternal *avci; if (avcodec_is_open(avctx)) @@ -168,9 +167,6 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code if (avctx->extradata_size < 0 || avctx->extradata_size >= FF_MAX_EXTRADATA_SIZE) return AVERROR(EINVAL); - if (options) - av_dict_copy(&tmp, *options, 0); - lock_avcodec(codec); avci = av_mallocz(sizeof(*avci)); @@ -207,12 +203,12 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code av_opt_set_defaults(avctx->priv_data); } } - if (codec->priv_class && (ret = av_opt_set_dict(avctx->priv_data, &tmp)) < 0) + if (codec->priv_class && (ret = av_opt_set_dict(avctx->priv_data, options)) < 0) goto free_and_end; } else { avctx->priv_data = NULL; } - if ((ret = av_opt_set_dict(avctx, &tmp)) < 0) + if ((ret = av_opt_set_dict(avctx, options)) < 0) goto free_and_end; if (avctx->codec_whitelist && av_match_list(codec->name, avctx->codec_whitelist, ',') <= 0) { @@ -372,15 +368,11 @@ int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *code end: unlock_avcodec(codec); - if (options) { - av_dict_free(options); - *options = tmp; - } return ret; free_and_end: avcodec_close(avctx); - av_dict_free(&tmp); + av_dict_free(options); goto end; } |