libobs: Add max_luminance to obs_source_frame
Used in situations where source luminance is greater than HDR nominal peak setting to avoid clipping by applying BT.2408 maxRGB EETF.
This commit is contained in:
@@ -316,7 +316,7 @@ static void render_convert_texture(struct obs_core_video *video,
|
||||
gs_eparam_t *height_i = gs_effect_get_param_by_name(effect, "height_i");
|
||||
gs_eparam_t *sdr_white_nits_over_maximum = gs_effect_get_param_by_name(
|
||||
effect, "sdr_white_nits_over_maximum");
|
||||
gs_eparam_t *hlg_lw = gs_effect_get_param_by_name(effect, "hlg_lw");
|
||||
gs_eparam_t *hdr_lw = gs_effect_get_param_by_name(effect, "hdr_lw");
|
||||
|
||||
struct vec4 vec0, vec1, vec2;
|
||||
vec4_set(&vec0, video->color_matrix[4], video->color_matrix[5],
|
||||
@@ -336,7 +336,7 @@ static void render_convert_texture(struct obs_core_video *video,
|
||||
gs_effect_set_texture(image, texture);
|
||||
gs_effect_set_vec4(color_vec0, &vec0);
|
||||
gs_effect_set_float(sdr_white_nits_over_maximum, multiplier);
|
||||
gs_effect_set_float(hlg_lw, hdr_nominal_peak_level);
|
||||
gs_effect_set_float(hdr_lw, hdr_nominal_peak_level);
|
||||
render_convert_plane(effect, convert_textures[0],
|
||||
video->conversion_techs[0]);
|
||||
|
||||
@@ -350,7 +350,7 @@ static void render_convert_texture(struct obs_core_video *video,
|
||||
video->conversion_height_i);
|
||||
gs_effect_set_float(sdr_white_nits_over_maximum,
|
||||
multiplier);
|
||||
gs_effect_set_float(hlg_lw, hdr_nominal_peak_level);
|
||||
gs_effect_set_float(hdr_lw, hdr_nominal_peak_level);
|
||||
render_convert_plane(effect, convert_textures[1],
|
||||
video->conversion_techs[1]);
|
||||
|
||||
@@ -363,7 +363,7 @@ static void render_convert_texture(struct obs_core_video *video,
|
||||
video->conversion_height_i);
|
||||
gs_effect_set_float(sdr_white_nits_over_maximum,
|
||||
multiplier);
|
||||
gs_effect_set_float(hlg_lw,
|
||||
gs_effect_set_float(hdr_lw,
|
||||
hdr_nominal_peak_level);
|
||||
render_convert_plane(
|
||||
effect, convert_textures[2],
|
||||
|
Reference in New Issue
Block a user