[CinCV TNG] Cinelerra CVE - disabled multithreading in codecs?

Einar Rünkaru einarrunkaru at gmail.com
Tue Jul 18 17:41:23 CEST 2017



On 07/18/2017 03:19 PM, Andrew Randrianasulu wrote:
> В сообщении от Monday 17 July 2017 14:53:59 Einar Rc3bcnkaru написал(а):
>> On 07/17/2017 03:24 AM, Andrew Randrianasulu wrote:
>>> Hello again!
>>>
>>>
>>> I just compiled and installed Cinelerra-CVE
>>>
>>> Cinelerra-CVE 2.3.5
>>> (C) 2006 Heroine Virtual Ltd.
>>> (C) 2006-2017 The CinelerraCV Community
>>> Internal ffmpeg library versions:
>>>       libavutil      54. 31.100 / 54. 31.100
>>>       libavcodec     56. 60.100 / 56. 60.100
>>>       libavformat    56. 40.101 / 56. 40.101
>>>       libswscale      3.  1.101 /  3.  1.101
>>>       libswresample   1.  2.101 /  1.  2.101
>>> Compiled on Пн июл 17 01:43:25 MSK 2017
>>>
>>>
>>> and loaded very same mjpeg files I used to test Cinelerra-CV.
>>> They can be played - but even decoding in CVE is slow, with video output
>>> device set to x11_xv I only get 7-8 fps. (1.4 Ghz * 4 core, but cores NOT
>>> maxed out during decoding)
>>
>> The GHz is quite pointless number during last 15 years. I had several
>> computers during this time all about 2GHz. Always the next had 1.5 - 2
>> times better speed.
>>
>>> Encoding is slow, like 3 min 39 sec transcoding mjpeg from avi source
>>> file into quicktime/mov mjpeg yuv420 file . Again, cores NOT maxed out.
>>
>> If cores are not maxed out there is something else what is slow: disk or
>> graphics.
>>
>> The number of threads that avlibs can use is intentionally left
>> unspcified - it can use as much as it can. It depends mainly how many
>> threads is certain codec able to use.
>>
>> For debugging purposes decoding and encoding do not run concurrently.
> 
> 
> hm. I mean in Cinelerra-CV I can see such piece of code:
> 
> https://git.cinelerra-cv.org/gitweb?p=CinelerraCV.git;a=blob;f=quicktime/qtffmpeg.c;h=b384a830146ef2062523101380a3d0afa0d39e61;hb=1477939fd06b454adf0237cfb972d59f072eec2c
> 
>    89                 if(cpus > 1 &&
>    90                                 (ffmpeg_id == CODEC_ID_MPEG4 ||
>    91                                  ffmpeg_id == CODEC_ID_MPEG1VIDEO ||
>    92                                  ffmpeg_id == CODEC_ID_MPEG2VIDEO ||
>    93                                  ffmpeg_id == CODEC_ID_H263P ||
>    94                                  ffmpeg_id ==
> CODEC_FLAG_H263P_SLICE_STRUCT))
>    95                 {
>    96                         avcodec_thread_init(context, cpus);
>    97                         context->thread_count = cpus;
> 
>

There is no avcodec_thread_init in ffmpeg avlibs any more. As I 
understand thread_count is now only a suggestion. Default is avlibs use 
as many threads as they need.

Einar


More information about the Cinelerra mailing list