ffmpeg | branch: master | nyanmisaka <[email protected]> | Tue Nov 16 16:16:22 2021 +0800| [64467cbca2d9d638348eaeaef13511999744cf7a] | committer: Anton Khirnov
libavutil/hwcontext_qsv: fix a bug for mapping vaapi frame to qsv The data stored in data[3] in VAAPI AVFrame is VASurfaceID while the data stored in pair->first is the pointer of VASurfaceID, so we need to do cast to make following commandline works: ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 \ -hwaccel_output_format vaapi -i input.264 \ -vf "hwmap=derive_device=qsv,format=qsv" -c:v h264_qsv output.264 Signed-off-by: nyanmisaka <[email protected]> Signed-off-by: Wenbin Chen <[email protected]> Signed-off-by: Anton Khirnov <[email protected]> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=64467cbca2d9d638348eaeaef13511999744cf7a --- libavutil/hwcontext_qsv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c index 268be9f8a1..a5d154a24d 100644 --- a/libavutil/hwcontext_qsv.c +++ b/libavutil/hwcontext_qsv.c @@ -1218,7 +1218,7 @@ static int qsv_map_to(AVHWFramesContext *dst_ctx, case AV_PIX_FMT_VAAPI: { mfxHDLPair *pair = (mfxHDLPair*)hwctx->surfaces[i].Data.MemId; - if (pair->first == src->data[3]) { + if (*(VASurfaceID*)pair->first == (VASurfaceID)src->data[3]) { index = i; break; } _______________________________________________ ffmpeg-cvslog mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
