mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-18 07:47:17 +00:00
vaapioverlay: use vpp blend state iif using alpha
Don't set VAAPI vpp blend flags if alpha == 1.0, i.e. fully opaque. This can avoid extra processing overhead on some drivers that apply blending unconditionally when flags are present, even if the end result is the same without blend flags (i.e. all opaque alpha channels). Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1380>
This commit is contained in:
parent
04b8dfa391
commit
48b6404f8e
1 changed files with 5 additions and 3 deletions
|
@ -275,9 +275,11 @@ gst_vaapi_blend_process_unlocked (GstVaapiBlend * blend,
|
|||
param->output_background_color = 0xff000000;
|
||||
|
||||
#if VA_CHECK_VERSION(1,1,0)
|
||||
blend_state.flags = VA_BLEND_GLOBAL_ALPHA;
|
||||
blend_state.global_alpha = current->alpha;
|
||||
param->blend_state = &blend_state;
|
||||
if (current->alpha < 1.0) {
|
||||
blend_state.flags = VA_BLEND_GLOBAL_ALPHA;
|
||||
blend_state.global_alpha = current->alpha;
|
||||
param->blend_state = &blend_state;
|
||||
}
|
||||
#endif
|
||||
|
||||
vaapi_unmap_buffer (va_display, id, NULL);
|
||||
|
|
Loading…
Reference in a new issue