From patchwork Wed Dec 2 04:22:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 24307 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 15B2F44A7AC for ; Wed, 2 Dec 2020 06:35:13 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8D04868A615; Wed, 2 Dec 2020 06:24:36 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f50.google.com (mail-ed1-f50.google.com [209.85.208.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4E85668A5CC for ; Wed, 2 Dec 2020 06:24:29 +0200 (EET) Received: by mail-ed1-f50.google.com with SMTP id d18so1161477edt.7 for ; Tue, 01 Dec 2020 20:24:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references:reply-to :mime-version:content-transfer-encoding; bh=YGPVca+jag2K7vW2qB6mFvnFs2SZ6+I7rMDeUU57Zek=; b=AjbXcNScwN7xSb9yLBia3F9OK58FS4Dylanj8m8V0Uf7s59gApBy6YB+oR+An66Srz A/0wTxDDrmbSgEZ5qUlyo/rZRCJ9bp5P/qIBg56IGdgbHJxkcMvR3BBp5rT+VA3kGwgB EtUv1ihDvhZ6uLThYUgeIIKJ+zmzKVDXKsGiySd1FAS9TaC9N9vCQZ6kvhBupeK5eaDb 86Uius55W0UycOvI46xMcC7QHpeO43z2ZRqFMhsnTyBzaOeXWLnF9612wjlQ8bq37ZD5 8Wf9TDxAvr4oNZ6Iu/xPGxYoJ7lX4iINEiRIC58ozPmUmekBpMbQxTTDSXNDx0vOcWhO PmFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:reply-to:mime-version:content-transfer-encoding; bh=YGPVca+jag2K7vW2qB6mFvnFs2SZ6+I7rMDeUU57Zek=; b=eZDEXX9ZIWxWXGnAz6pAc0usO8xMnMJwVEzQGlD7PsfVm7H8ILL5cSazde+wwm0L1V plIz0SXHqaI1pAMV027oyNBOR6nHNQzfyZyePyoAslNpnX3Q/nbR0cfrEymoj5xVmzdp MFhBB4lZHuYzuk6PxMyvkY4IfjpmyC2Ko+UgY5AdLSSJPELfesoVkwb6y9bPrKZa3X8H x33DhLjmM6jR6Rqu3mNDLahaHSuG/go5WpE866CAe2Ku9T58qnnBMV+UFt1gpGlskJCU 1r2y/31qZFV65vayPzKM4hiqfeZ4/pRYLR61rdxwrtVFTJlEIOTMUNMmcQMEv1LRVL69 dD9w== X-Gm-Message-State: AOAM532t+yDfI/Y8YmitF6+oCfxyRvMTGjZ82L+4FU0KOxXfBV7V9Y2p yi5CNry3+taBQuWa4p8VDQy/4YX4fhbmWQ== X-Google-Smtp-Source: ABdhPJwvsTqZdJjVjuPav0XqlIQm1wro0u/3DUQYQDJCZJzmW/ttpgIRmrP7xmRQYRjk2eizVaUj6g== X-Received: by 2002:a50:b264:: with SMTP id o91mr821776edd.7.1606883068318; Tue, 01 Dec 2020 20:24:28 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc1aa4b.dynamic.kabel-deutschland.de. [188.193.170.75]) by smtp.gmail.com with ESMTPSA id mc25sm265087ejb.58.2020.12.01.20.24.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 01 Dec 2020 20:24:27 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 2 Dec 2020 05:22:30 +0100 Message-Id: <20201202042244.519127-69-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20201127010249.2724610-1-andreas.rheinhardt@gmail.com> References: <20201127010249.2724610-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 203/217] avcodec/movtextenc, srtenc, webvttenc: Mark encoders as init-threadsafe X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" They all rely on ff_ass_split(), which does not have any static state. Signed-off-by: Andreas Rheinhardt --- libavcodec/movtextenc.c | 2 +- libavcodec/srtenc.c | 4 ++++ libavcodec/webvttenc.c | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libavcodec/movtextenc.c b/libavcodec/movtextenc.c index 1bef21e0b9..8da98d61e1 100644 --- a/libavcodec/movtextenc.c +++ b/libavcodec/movtextenc.c @@ -731,5 +731,5 @@ AVCodec ff_movtext_encoder = { .init = mov_text_encode_init, .encode_sub = mov_text_encode_frame, .close = mov_text_encode_close, - .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/srtenc.c b/libavcodec/srtenc.c index 655b65679e..1ec5e693ef 100644 --- a/libavcodec/srtenc.c +++ b/libavcodec/srtenc.c @@ -25,6 +25,7 @@ #include "libavutil/bprint.h" #include "ass_split.h" #include "ass.h" +#include "internal.h" #define SRT_STACK_SIZE 64 @@ -314,6 +315,7 @@ AVCodec ff_srt_encoder = { .init = srt_encode_init, .encode_sub = srt_encode_frame, .close = srt_encode_close, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, }; #endif @@ -327,6 +329,7 @@ AVCodec ff_subrip_encoder = { .init = srt_encode_init, .encode_sub = srt_encode_frame, .close = srt_encode_close, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, }; #endif @@ -340,5 +343,6 @@ AVCodec ff_text_encoder = { .init = srt_encode_init, .encode_sub = text_encode_frame, .close = srt_encode_close, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, }; #endif diff --git a/libavcodec/webvttenc.c b/libavcodec/webvttenc.c index febf6ee370..ed762f77e8 100644 --- a/libavcodec/webvttenc.c +++ b/libavcodec/webvttenc.c @@ -26,6 +26,7 @@ #include "libavutil/bprint.h" #include "ass_split.h" #include "ass.h" +#include "internal.h" #define WEBVTT_STACK_SIZE 64 typedef struct { @@ -233,4 +234,5 @@ AVCodec ff_webvtt_encoder = { .init = webvtt_encode_init, .encode_sub = webvtt_encode_frame, .close = webvtt_encode_close, + .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, };