[CinCV TNG] [PATCH] Fixed initialization of colorspace conversions

Einar Rünkaru einarrunkaru at gmail.com
Tue Jul 11 12:00:35 CEST 2017



On 07/10/2017 07:36 PM, Johannes Sixt wrote:
> Am 09.07.2017 um 18:26 schrieb Einar Rünkaru:
>> Hi.
>>
>> The constructor of BC_CModels initalizes RGB->YUV conversion
>> tables. Making BC_CModels part of BC_Resources ensures the
>> initialization of tables before any use.
> 
> Before this patch, I cannot find a single line of code where an object 
> of type BC_CModels would be allocated nor is there an explicit call of 
> init_yuv() outside the BC_CModels constructor. Does it mean that these 
> tables were never initialized at all? If so, a sentence about this fact 
> would be welcome in the commit message as well as an explanation what 
> the consequences were. Are there any bug reports about wrong behavior? 
> If not, are these tables unused?
> 

BC_CModels was introduced with findobject plugin and it is the only 
place where BC_CModels is used. As findobject was never really usable, 
nobody noticed that BC_CModels was not initialized.

When the tables were not initialized, the conversion RGB->YUV gives 
green frame.

BC_CModels is color conversion functions that are copied out from 
quicktime and converted to c++. To get rid of old ffmpeg and quicktime I 
need color conversion outside quicktime. Later it will be replaced with 
libswscale functions.

Patch applied.

Einar


More information about the Cinelerra mailing list