From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id B7CC14D000 for ; Fri, 14 Feb 2025 16:34:33 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2D69F68BEDB; Fri, 14 Feb 2025 18:34:29 +0200 (EET) Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B49A768B4C3 for ; Fri, 14 Feb 2025 18:34:22 +0200 (EET) Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-21f5660c2fdso47388785ad.2 for ; Fri, 14 Feb 2025 08:34:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739550860; x=1740155660; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=Lmm/bERVhUAxq+pv3lMhzdO+dfvQ7/ewTqP5BXuSzSE=; b=QZSRZPugZ44vqHXEZ4UD0PYEsUWymniJ8vNRmAmgJXUnWQlT06UmShoOv5fv5e4r7P D+nMO6hjXtgjcqXGtY5fwX/uVmzV17bJjjQWPJ0DEAY3+uW+bvwc5tw8Q5e9IUlxwIhQ STbEdsmxXGGHXEb02va1eDu2A9s6jU8UtM8zHMfC4Dzh3R4/Nfz5C0UAu3wI9/6YRrNX FrVmgH2V6cCmnJcwuCAWYa/eFKrbJdKNEIjZKLHNljBt6bgG0aXmpEWBV+lAE2bd6CMn rpAJ0ZFeQFDEudFs3sp58jr3fjVFgu7bV/R+JUxLlHfMDsMdqc1X7xccwJDp2M/MEjSu O1vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739550860; x=1740155660; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Lmm/bERVhUAxq+pv3lMhzdO+dfvQ7/ewTqP5BXuSzSE=; b=lkgVc1nX5Cbf6FlcGl0UM5sn1PY5SRqdHsKlz8MgGeEX/VxvvC4L8nwt6v8fmYO7uI 3OfRteAhWE7Oug7NqDO1NWQZQLqMri32iC0Jg9WrmP7UulsTCoFVsVizkwfklesCSCmf aWO2vNxgoMSQmHZTjCx52nx0fWKVj5wWUFxeKcXheF5jhX4HvGMiWJPElUqK2KsIpzjk j07oqKXBK16J3yDdOEnpPIM4G047PBZFnlNUAJnYL5VZXqE+BpR66b6tyDfEdVqHNGHH KmFKquCOKqEdtRrRNfKeq/gjqOR/3FQUXZsCCS3DfO5YQ95cKwBW44+OMjlGpZkTrN59 iTKQ== X-Gm-Message-State: AOJu0YyXULW7VvJIHCVcO/GhhTnSpCTbufZOO6eJv7mcCdMnG1AGTPRC j6EQxbytSDJjEMXGqO4TdDIOWktsiq63Jd9nw9WV/l4I+t9FX5h5G3nC1xS6 X-Gm-Gg: ASbGncsD7E5AvDAk95Rbnrnhwh/FIqUyJ1hYm2u4M4FZFfIuAg9PTZkLEvmo8btGrke KfrpvJaa4xCxpMKBiOiiN4mqsjbcwy5FjmHYJk4omIemxS9ofEE0m9jMEBjdXC4T8jilyJd/oCX KcSUoWKy2f/gIv4GQP9rNkiDMMKtRAyYG2mDovk4bMgcKABU4MsAx5BfwwIDUYYnoma0equuwjH ZCmugg806S/dxST6wdcwwtve4Bdl4htgtZoRvxXJJfHNZWf+H1SkT45ieCdi7KSOJjMKp2UZqHB hQ5pozYV/Ir9Qjld1hEER6a3aPHiJKr9 X-Google-Smtp-Source: AGHT+IFBnSKVpfqCKCu2XBx6rgDR29qq4T38QzYbHFZCX/GO06SeBGZWDIpHUR0ZAbwVclAjHuJ8Rg== X-Received: by 2002:a17:902:d552:b0:21f:55e:ed71 with SMTP id d9443c01a7336-220d1ea0968mr138123775ad.5.1739550860051; Fri, 14 Feb 2025 08:34:20 -0800 (PST) Received: from localhost.localdomain ([2800:2121:b040:c:6025:f04b:6bb4:b67a]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-220d534906csm31022495ad.52.2025.02.14.08.34.18 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Feb 2025 08:34:19 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Fri, 14 Feb 2025 13:33:01 -0300 Message-ID: <20250214163302.3043-1-jamrial@gmail.com> X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] fftools/ffmpeg: use an int for nb_threads X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Removes unnecessary allocations. Signed-off-by: James Almer --- fftools/ffmpeg.h | 2 +- fftools/ffmpeg_filter.c | 16 ++++++---------- fftools/ffmpeg_mux_init.c | 5 ++--- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/fftools/ffmpeg.h b/fftools/ffmpeg.h index 9439be0f41..6cc0da05a0 100644 --- a/fftools/ffmpeg.h +++ b/fftools/ffmpeg.h @@ -316,7 +316,7 @@ typedef struct OutputFilterOptions { AVDictionary *sws_opts; AVDictionary *swr_opts; - const char *nb_threads; + int64_t nb_threads; // A combination of OFilterFlags. unsigned flags; diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index a0d04fd76f..800e2a3f06 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -60,7 +60,7 @@ typedef struct FilterGraphPriv { const char *graph_desc; - char *nb_threads; + int nb_threads; // frame for temporarily holding output from the filtergraph AVFrame *frame; @@ -1042,7 +1042,6 @@ void fg_free(FilterGraph **pfg) } av_freep(&fg->outputs); av_freep(&fgp->graph_desc); - av_freep(&fgp->nb_threads); av_frame_free(&fgp->frame); av_frame_free(&fgp->frame_enc); @@ -1097,6 +1096,7 @@ int fg_create(FilterGraph **pfg, char *graph_desc, Scheduler *sch) fg->class = &fg_class; fgp->graph_desc = graph_desc; fgp->disable_conversions = !auto_conversion_filters; + fgp->nb_threads = -1; fgp->sch = sch; snprintf(fgp->log_name, sizeof(fgp->log_name), "fc#%d", fg->index); @@ -1247,12 +1247,8 @@ int fg_create_simple(FilterGraph **pfg, if (ret < 0) return ret; - if (opts->nb_threads) { - av_freep(&fgp->nb_threads); - fgp->nb_threads = av_strdup(opts->nb_threads); - if (!fgp->nb_threads) - return AVERROR(ENOMEM); - } + if (opts->nb_threads >= 0) + fgp->nb_threads = opts->nb_threads; return 0; } @@ -1936,8 +1932,8 @@ static int configure_filtergraph(FilterGraph *fg, FilterGraphThread *fgt) ret = av_opt_set(fgt->graph, "threads", filter_nbthreads, 0); if (ret < 0) goto fail; - } else if (fgp->nb_threads) { - ret = av_opt_set(fgt->graph, "threads", fgp->nb_threads, 0); + } else if (fgp->nb_threads >= 0) { + ret = av_opt_set_int(fgt->graph, "threads", fgp->nb_threads, 0); if (ret < 0) return ret; } diff --git a/fftools/ffmpeg_mux_init.c b/fftools/ffmpeg_mux_init.c index 944176ca5d..d212a1f326 100644 --- a/fftools/ffmpeg_mux_init.c +++ b/fftools/ffmpeg_mux_init.c @@ -930,7 +930,7 @@ ost_bind_filter(const Muxer *mux, MuxStream *ms, OutputFilter *ofilter, .ts_offset = mux->of.start_time == AV_NOPTS_VALUE ? 0 : mux->of.start_time, .vs = vs, - + .nb_threads = -1, .flags = OFILTER_FLAG_DISABLE_CONVERT * !!keep_pix_fmt | OFILTER_FLAG_AUTOSCALE * !!autoscale | OFILTER_FLAG_AUDIO_24BIT * !!(av_get_exact_bits_per_sample(enc_ctx->codec_id) == 24), @@ -982,7 +982,7 @@ ost_bind_filter(const Muxer *mux, MuxStream *ms, OutputFilter *ofilter, } if (threads_manual) { - ret = av_opt_get(enc_ctx, "threads", 0, (uint8_t**)&opts.nb_threads); + ret = av_opt_get_int(enc_ctx, "threads", 0, &opts.nb_threads); if (ret < 0) return ret; } @@ -1002,7 +1002,6 @@ ost_bind_filter(const Muxer *mux, MuxStream *ms, OutputFilter *ofilter, ost->filter = ost->fg_simple->outputs[0]; } - av_freep(&opts.nb_threads); if (ret < 0) return ret; -- 2.48.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".