mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 16:50:47 +00:00
d3d11decoder: Always use render-target bind flag for downstream pool
To convert decoded texture into other format, downstream would use video processor instead of shader. In order for downstream to be able to use video processor even if we copied decoded texture into downstream pool, we should set this bind flag. Otherwise, downstream would keep switching video processor and shader to convert format which would result in inconsistent image quality. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2051>
This commit is contained in:
parent
a4c6130477
commit
98929c8157
1 changed files with 5 additions and 5 deletions
|
@ -1641,11 +1641,11 @@ gst_d3d11_decoder_decide_allocation (GstVideoDecoder * decoder,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (codec == GST_D3D11_CODEC_VP9) {
|
|
||||||
/* Needs render target bind flag so that it can be used for
|
/* Needs render target bind flag so that it can be used for
|
||||||
* output of shader pipeline if internal resizing is required */
|
* output of shader pipeline if internal resizing is required.
|
||||||
|
* Also, downstream can keep using video processor even if we copy
|
||||||
|
* some decoded textures into downstream buffer */
|
||||||
d3d11_params->desc[0].BindFlags |= D3D11_BIND_RENDER_TARGET;
|
d3d11_params->desc[0].BindFlags |= D3D11_BIND_RENDER_TARGET;
|
||||||
}
|
|
||||||
|
|
||||||
gst_buffer_pool_config_set_d3d11_allocation_params (config, d3d11_params);
|
gst_buffer_pool_config_set_d3d11_allocation_params (config, d3d11_params);
|
||||||
gst_d3d11_allocation_params_free (d3d11_params);
|
gst_d3d11_allocation_params_free (d3d11_params);
|
||||||
|
|
Loading…
Reference in a new issue