Quoting Wenbin Chen (2021-11-30 07:28:13)
> diff --git a/libavutil/hwcontext_vulkan.h b/libavutil/hwcontext_vulkan.h
> index fdf2a60156..c485ee7437 100644
> --- a/libavutil/hwcontext_vulkan.h
> +++ b/libavutil/hwcontext_vulkan.h
> @@ -35,6 +35,17 @@
> * with the data pointer set to an AVVkFrame.
> */
>
> +/**
> + * Defines the behaviour of frame allocation
> + * AV_VK_FRAME_FLAG_NONE: planes will be allocated in separte memory
> + * AV_VK_FRAME_FLAG_CONTIGUOUS_MEMORY: planes will be allocated in a
> + * contiguous memory.
> + */
> +typedef enum {
> + AV_VK_FRAME_FLAG_NONE = (1ULL << 0),
> + AV_VK_FRAME_FLAG_CONTIGUOUS_MEMORY = (1ULL << 1) | 1ULL
> +} AVVkFrameFlags;
> +
> /**
> * Main Vulkan context, allocated as AVHWDeviceContext.hwctx.
> * All of these can be set before init to change what the context uses
> @@ -157,6 +168,14 @@ typedef struct AVVulkanFramesContext {
> */
> void *create_pnext;
>
> + /**
> + * Is a combination of AVVkFrameFlags. Defines the behaviour of frame
> + * allocation.
> + * If no flag is set, then the flags are automatically determined
> + * based on the device.
> + */
> + int flags;
> +
> /**
> * Extension data for memory allocation. Must have as many entries as
> * the number of planes of the sw_format.
> @@ -198,6 +217,11 @@ typedef struct AVVkFrame {
> VkDeviceMemory mem[AV_NUM_DATA_POINTERS];
> size_t size[AV_NUM_DATA_POINTERS];
>
> + /**
> + * Describe the offset from the memory currently bound to the VkImage.
> + */
> + size_t offset[AV_NUM_DATA_POINTERS];
> +
These are public structs, you have to add any new fields at the end or
you will break ABI compatibility.
--
Anton Khirnov
_______________________________________________
ffmpeg-devel mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".