Message ID | 20211104054403.1251208-3-wenbin.chen@intel.com |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel,1/4] libavutil/hwcontext_d3d11va: Add nb_surfaces to AVD3D11VAFramesContext | expand |
Context | Check | Description |
---|---|---|
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
andriy/make_ppc | success | Make finished |
andriy/make_fate_ppc | success | Make fate finished |
> From: nyanmisaka <nst799610810@gmail.com> > > 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 <nst799610810@gmail.com> > Signed-off-by: Wenbin Chen <wenbin.chen@intel.com> > --- > 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 5a285fd25b..8075c27862 100644 > --- a/libavutil/hwcontext_qsv.c > +++ b/libavutil/hwcontext_qsv.c > @@ -1219,7 +1219,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; > } > -- > 2.25.1 ping
diff --git a/libavutil/hwcontext_qsv.c b/libavutil/hwcontext_qsv.c index 5a285fd25b..8075c27862 100644 --- a/libavutil/hwcontext_qsv.c +++ b/libavutil/hwcontext_qsv.c @@ -1219,7 +1219,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; }