@@ -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,
};
@@ -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
@@ -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,
};
They all rely on ff_ass_split(), which does not have any static state. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> --- libavcodec/movtextenc.c | 2 +- libavcodec/srtenc.c | 4 ++++ libavcodec/webvttenc.c | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-)