d3d12decoder: Hold reference pictures in fence data

Keep reference pictures alive during executing decoding commands

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6709>
This commit is contained in:
Seungha Yang 2024-04-22 19:32:22 +09:00 committed by GStreamer Marge Bot
parent 0f5f170a40
commit 27c02a0b80

View file

@ -1312,6 +1312,11 @@ gst_d3d12_decoder_end_picture (GstD3D12Decoder * decoder,
gst_d3d12_fence_data_pool_acquire (priv->fence_data_pool, &fence_data); gst_d3d12_fence_data_pool_acquire (priv->fence_data_pool, &fence_data);
gst_d3d12_fence_data_add_notify_mini_object (fence_data, gst_d3d12_fence_data_add_notify_mini_object (fence_data,
gst_mini_object_ref (decoder_pic)); gst_mini_object_ref (decoder_pic));
for (guint i = 0; i < ref_pics->len; i++) {
auto ref_pic = (GstCodecPicture *) g_ptr_array_index (ref_pics, i);
gst_d3d12_fence_data_add_notify_mini_object (fence_data,
gst_codec_picture_ref (ref_pic));
}
gst_d3d12_fence_data_add_notify_mini_object (fence_data, gst_ca); gst_d3d12_fence_data_add_notify_mini_object (fence_data, gst_ca);
gst_d3d12_command_queue_set_notify (priv->cmd->queue, priv->cmd->fence_val, gst_d3d12_command_queue_set_notify (priv->cmd->queue, priv->cmd->fence_val,