mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2026-06-16 04:32:47 +02:00
vulkan_decode: do not reset the decoder when flushing
The issue is that .flush gets called asynchronously, and modifies the video session state while its being used for decoding. This did not result in issues since all known vendors do not keep important state there, but its not compliant with the specs. Its not necessary to flush the decoder at all when seeking, so simply don't. Fixes #20487
This commit is contained in:
@@ -662,7 +662,6 @@ const FFHWAccel ff_av1_vulkan_hwaccel = {
|
||||
.init = &ff_vk_decode_init,
|
||||
.update_thread_context = &ff_vk_update_thread_context,
|
||||
.decode_params = &ff_vk_params_invalidate,
|
||||
.flush = &ff_vk_decode_flush,
|
||||
.uninit = &ff_vk_decode_uninit,
|
||||
.frame_params = &ff_vk_frame_params,
|
||||
.priv_data_size = sizeof(FFVulkanDecodeContext),
|
||||
|
||||
@@ -466,7 +466,6 @@ const FFHWAccel ff_dpx_vulkan_hwaccel = {
|
||||
.init = &vk_decode_dpx_init,
|
||||
.update_thread_context = &ff_vk_update_thread_context,
|
||||
.decode_params = &ff_vk_params_invalidate,
|
||||
.flush = &ff_vk_decode_flush,
|
||||
.uninit = &ff_vk_decode_uninit,
|
||||
.frame_params = &ff_vk_frame_params,
|
||||
.priv_data_size = sizeof(FFVulkanDecodeContext),
|
||||
|
||||
@@ -1147,7 +1147,6 @@ const FFHWAccel ff_ffv1_vulkan_hwaccel = {
|
||||
.init = &vk_decode_ffv1_init,
|
||||
.update_thread_context = &ff_vk_update_thread_context,
|
||||
.decode_params = &ff_vk_params_invalidate,
|
||||
.flush = &ff_vk_decode_flush,
|
||||
.uninit = &ff_vk_decode_uninit,
|
||||
.frame_params = &ff_vk_frame_params,
|
||||
.priv_data_size = sizeof(FFVulkanDecodeContext),
|
||||
|
||||
@@ -584,7 +584,6 @@ const FFHWAccel ff_h264_vulkan_hwaccel = {
|
||||
.init = &ff_vk_decode_init,
|
||||
.update_thread_context = &ff_vk_update_thread_context,
|
||||
.decode_params = &ff_vk_params_invalidate,
|
||||
.flush = &ff_vk_decode_flush,
|
||||
.uninit = &ff_vk_decode_uninit,
|
||||
.frame_params = &ff_vk_frame_params,
|
||||
.priv_data_size = sizeof(FFVulkanDecodeContext),
|
||||
|
||||
@@ -949,7 +949,6 @@ const FFHWAccel ff_hevc_vulkan_hwaccel = {
|
||||
.init = &ff_vk_decode_init,
|
||||
.update_thread_context = &ff_vk_update_thread_context,
|
||||
.decode_params = &ff_vk_params_invalidate,
|
||||
.flush = &ff_vk_decode_flush,
|
||||
.uninit = &ff_vk_decode_uninit,
|
||||
.frame_params = &ff_vk_frame_params,
|
||||
.priv_data_size = sizeof(FFVulkanDecodeContext),
|
||||
|
||||
@@ -567,7 +567,6 @@ const FFHWAccel ff_prores_vulkan_hwaccel = {
|
||||
.init = &vk_decode_prores_init,
|
||||
.update_thread_context = &ff_vk_update_thread_context,
|
||||
.decode_params = &ff_vk_params_invalidate,
|
||||
.flush = &ff_vk_decode_flush,
|
||||
.uninit = &ff_vk_decode_uninit,
|
||||
.frame_params = &ff_vk_frame_params,
|
||||
.priv_data_size = sizeof(FFVulkanDecodeContext),
|
||||
|
||||
@@ -474,7 +474,6 @@ const FFHWAccel ff_prores_raw_vulkan_hwaccel = {
|
||||
.init = &vk_decode_prores_raw_init,
|
||||
.update_thread_context = &ff_vk_update_thread_context,
|
||||
.decode_params = &ff_vk_params_invalidate,
|
||||
.flush = &ff_vk_decode_flush,
|
||||
.uninit = &ff_vk_decode_uninit,
|
||||
.frame_params = &ff_vk_frame_params,
|
||||
.priv_data_size = sizeof(FFVulkanDecodeContext),
|
||||
|
||||
@@ -365,7 +365,6 @@ const FFHWAccel ff_vp9_vulkan_hwaccel = {
|
||||
.frame_priv_data_size = sizeof(VP9VulkanDecodePicture),
|
||||
.init = &ff_vk_decode_init,
|
||||
.update_thread_context = &ff_vk_update_thread_context,
|
||||
.flush = &ff_vk_decode_flush,
|
||||
.uninit = &ff_vk_decode_uninit,
|
||||
.frame_params = &ff_vk_frame_params,
|
||||
.priv_data_size = sizeof(FFVulkanDecodeContext),
|
||||
|
||||
Reference in New Issue
Block a user