From: Bernat Arlandis <[email protected]>
---
libavcodec/libtheoraenc.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/libavcodec/libtheoraenc.c b/libavcodec/libtheoraenc.c
index eb94458639..ac6653fac8 100644
--- a/libavcodec/libtheoraenc.c
+++ b/libavcodec/libtheoraenc.c
@@ -244,6 +244,17 @@ static av_cold int encode_init(AVCodecContext* avc_context)
return AVERROR_EXTERNAL;
}
+ // Set encoding speed
+ if (avc_context->compression_level != FF_COMPRESSION_DEFAULT) {
+ int max_speed_level;
+ int speed_level = avc_context->compression_level;
+ th_encode_ctl(h->t_state, TH_ENCCTL_GET_SPLEVEL_MAX, &max_speed_level,
sizeof(max_speed_level));
+ if (speed_level > max_speed_level) {
+ speed_level = max_speed_level;
+ }
+ th_encode_ctl(h->t_state, TH_ENCCTL_SET_SPLEVEL, &speed_level,
sizeof(speed_level));
+ }
+
// need to enable 2 pass (via TH_ENCCTL_2PASS_) before encoding headers
if (avc_context->flags & AV_CODEC_FLAG_PASS1) {
if ((ret = get_stats(avc_context, 0)) < 0)
base-commit: bedfb6eca402037f5cbb115fa767d106b8c14f1c
--
2.39.5
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".