[FFmpeg-devel] [PATCH] libtheoraenc: Set encoding speed level from compression_level

Bernat Arlandis bernat.arlandis at gmail.com
Sat Jul 19 19:31:19 EEST 2025


El 18/7/25 a las 23:45, Michael Niedermayer escribió:
> Hi Bernat
>
> On Tue, Jul 15, 2025 at 07:42:16PM +0200, bernat.arlandis at gmail.com wrote:
>> From: Bernat Arlandis <berarma at hotmail.com>
>>
>> ---
>> 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));
>> + }
> If you want to, you can add a AVOption table with options matching the 
> names
> of libtheoraenc
>
> See any other encoder that uses AVOptions
>
> If the intend is to use compression_level instead, thats ok too and
> ill apply the patch as is then
>
> thx
>
> [...]

Aha, OK, thanks for the hint. I'll send a new patch right now.

Thanks for maintaining this project so well.

Cheers.

-- 
Bernat Arlandis



More information about the ffmpeg-devel mailing list