@ -3025,7 +3025,8 @@ static int vulkan_transfer_data_from_mem(AVHWFramesContext *hwfc, AVFrame *dst,
for ( int i = 0 ; i < planes ; i + + ) {
int h = src - > height ;
int p_height = i > 0 ? AV_CEIL_RSHIFT ( h , log2_chroma ) : h ;
size_t p_size = FFABS ( src - > linesize [ i ] ) * p_height ;
size_t p_size = FFALIGN ( FFABS ( src - > linesize [ i ] ) * p_height ,
p - > hprops . minImportedHostPointerAlignment ) ;
VkImportMemoryHostPointerInfoEXT import_desc = {
. sType = VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT ,
@ -3036,7 +3037,6 @@ static int vulkan_transfer_data_from_mem(AVHWFramesContext *hwfc, AVFrame *dst,
/* We can only map images with positive stride and alignment appropriate
* for the device . */
host_mapped [ i ] = map_host & & src - > linesize [ i ] > 0 & &
! ( p_size % p - > hprops . minImportedHostPointerAlignment ) & &
! ( ( ( uintptr_t ) import_desc . pHostPointer ) %
p - > hprops . minImportedHostPointerAlignment ) ;
p_size = host_mapped [ i ] ? p_size : 0 ;
@ -3209,7 +3209,8 @@ static int vulkan_transfer_data_to_mem(AVHWFramesContext *hwfc, AVFrame *dst,
for ( int i = 0 ; i < planes ; i + + ) {
int h = dst - > height ;
int p_height = i > 0 ? AV_CEIL_RSHIFT ( h , log2_chroma ) : h ;
size_t p_size = FFABS ( dst - > linesize [ i ] ) * p_height ;
size_t p_size = FFALIGN ( FFABS ( dst - > linesize [ i ] ) * p_height ,
p - > hprops . minImportedHostPointerAlignment ) ;
VkImportMemoryHostPointerInfoEXT import_desc = {
. sType = VK_STRUCTURE_TYPE_IMPORT_MEMORY_HOST_POINTER_INFO_EXT ,
@ -3220,7 +3221,6 @@ static int vulkan_transfer_data_to_mem(AVHWFramesContext *hwfc, AVFrame *dst,
/* We can only map images with positive stride and alignment appropriate
* for the device . */
host_mapped [ i ] = map_host & & dst - > linesize [ i ] > 0 & &
! ( p_size % p - > hprops . minImportedHostPointerAlignment ) & &
! ( ( ( uintptr_t ) import_desc . pHostPointer ) %
p - > hprops . minImportedHostPointerAlignment ) ;
p_size = host_mapped [ i ] ? p_size : 0 ;