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 ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".