[Libav-user] Questions about ColorSpace conversion in swscale

Carl Eugen Hoyos cehoyos at ag.or.at
Mon Aug 18 19:39:57 CEST 2014

Markus Pfundstein <markuspfundstein86 at ...> writes:

> Assume I have YUV422 BT 601 input and I want my output 
> to be YUV444 FullRange. Is this possible without telling 
> SwsContext that my input source is BT 601?

How is this supposed to work?
(Assuming libswscale is a black box and without discussing 
its internals: How would it know what you want if you 
don't set the appropriate options?)

> Also, does swscale first transform the input color 
> space to XYZ and then transform it further into the 
> target color space?

(Sorry if I misunderstand XYZ)
This sounds very slow, some conversions use yuv420p as 
intermediate format (this is what is generally needed 
for video). It is possible to use yuv444p instead, at 
least for some conversions.

> And why is there no yuv2rgb function but only a 
> rgb2yuv function?

I believe many such functions exist.

> If I want my output color space to be rgb, such a 
> function would be needed or not? 

Does yuv->rgb conversion not work for you?

I cannot answer some of your questions: If no 16 bit 
path exist for a conversion you need, it should be 
possible to add it but currently your information 
about what you need is very vague.

Carl Eugen

More information about the Libav-user mailing list