mirror of https://git.ffmpeg.org/ffmpeg.git
lavfi/colorspace_common: add ifdef check to be more compatible.
Some filters may not need to do linearize/delinearize, thus will even not define them. Add ifdef check, so they could easily re-use the .cl file. Signed-off-by: Ruiling Song <ruiling.song@intel.com>
This commit is contained in:
parent
8b951cd475
commit
b073fb9eea
|
@ -124,10 +124,14 @@ float3 yuv2rgb(float y, float u, float v) {
|
||||||
|
|
||||||
float3 yuv2lrgb(float3 yuv) {
|
float3 yuv2lrgb(float3 yuv) {
|
||||||
float3 rgb = yuv2rgb(yuv.x, yuv.y, yuv.z);
|
float3 rgb = yuv2rgb(yuv.x, yuv.y, yuv.z);
|
||||||
|
#ifdef linearize
|
||||||
float r = linearize(rgb.x);
|
float r = linearize(rgb.x);
|
||||||
float g = linearize(rgb.y);
|
float g = linearize(rgb.y);
|
||||||
float b = linearize(rgb.z);
|
float b = linearize(rgb.z);
|
||||||
return (float3)(r, g, b);
|
return (float3)(r, g, b);
|
||||||
|
#else
|
||||||
|
return rgb;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
float3 rgb2yuv(float r, float g, float b) {
|
float3 rgb2yuv(float r, float g, float b) {
|
||||||
|
@ -151,19 +155,25 @@ float rgb2y(float r, float g, float b) {
|
||||||
}
|
}
|
||||||
|
|
||||||
float3 lrgb2yuv(float3 c) {
|
float3 lrgb2yuv(float3 c) {
|
||||||
|
#ifdef delinearize
|
||||||
float r = delinearize(c.x);
|
float r = delinearize(c.x);
|
||||||
float g = delinearize(c.y);
|
float g = delinearize(c.y);
|
||||||
float b = delinearize(c.z);
|
float b = delinearize(c.z);
|
||||||
|
|
||||||
return rgb2yuv(r, g, b);
|
return rgb2yuv(r, g, b);
|
||||||
|
#else
|
||||||
|
return rgb2yuv(c.x, c.y, c.z);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
float lrgb2y(float3 c) {
|
float lrgb2y(float3 c) {
|
||||||
|
#ifdef delinearize
|
||||||
float r = delinearize(c.x);
|
float r = delinearize(c.x);
|
||||||
float g = delinearize(c.y);
|
float g = delinearize(c.y);
|
||||||
float b = delinearize(c.z);
|
float b = delinearize(c.z);
|
||||||
|
|
||||||
return rgb2y(r, g, b);
|
return rgb2y(r, g, b);
|
||||||
|
#else
|
||||||
|
return rgb2y(c.x, c.y, c.z);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
float3 lrgb2lrgb(float3 c) {
|
float3 lrgb2lrgb(float3 c) {
|
||||||
|
|
Loading…
Reference in New Issue