[FFmpeg-cvslog] hwcontext_vulkan: initialize the frames context when deriving

Lynne git at videolan.org
Tue May 26 12:58:28 EEST 2020


ffmpeg | branch: master | Lynne <dev at lynne.ee> | Mon May 25 20:56:00 2020 +0100| [b6d4bedbb1bfd7a04b0b84fa59769ec3e5ca149b] | committer: Lynne

hwcontext_vulkan: initialize the frames context when deriving

Otherwise, the frames context is considered to be ready to handle
mapping, and it doesn't get initialized the normal way through
.frames_init.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=b6d4bedbb1bfd7a04b0b84fa59769ec3e5ca149b
---

 libavutil/hwcontext_vulkan.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c
index 5976e33f03..7383af2083 100644
--- a/libavutil/hwcontext_vulkan.c
+++ b/libavutil/hwcontext_vulkan.c
@@ -3251,6 +3251,12 @@ static int vulkan_transfer_data_from(AVHWFramesContext *hwfc, AVFrame *dst,
     }
 }
 
+static int vulkan_frames_derive_to(AVHWFramesContext *dst_fc,
+                                   AVHWFramesContext *src_fc, int flags)
+{
+    return vulkan_frames_init(dst_fc);
+}
+
 AVVkFrame *av_vk_frame_alloc(void)
 {
     return av_mallocz(sizeof(AVVkFrame));
@@ -3280,6 +3286,7 @@ const HWContextType ff_hwcontext_type_vulkan = {
 
     .map_to                 = vulkan_map_to,
     .map_from               = vulkan_map_from,
+    .frames_derive_to       = &vulkan_frames_derive_to,
 
     .pix_fmts = (const enum AVPixelFormat []) {
         AV_PIX_FMT_VULKAN,



More information about the ffmpeg-cvslog mailing list