[FFmpeg-devel] [PATCH 1/2] qsvdec: add support for HW_DEVICE_CTX method

Soft Works softworkz at hotmail.com
Wed Jun 23 19:41:26 EEST 2021



-----Original Message-----
From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of Haihao Xiang
Sent: Mittwoch, 23. Juni 2021 05:04
To: ffmpeg-devel at ffmpeg.org
Cc: Haihao Xiang <haihao.xiang at intel.com>
Subject: [FFmpeg-devel] [PATCH 1/2] qsvdec: add support for HW_DEVICE_CTX method

This allows user set hw_device_ctx instead of hw_frames_ctx for QSV decoders, hence we may remove the ad-hoc libmfx setup code from FFmpeg.

"-hwaccel_output_format format" is applied to QSV decoders after removing the ad-hoc libmfx code. In order to keep compatibility with old commandlines, the default format is set to AV_PIX_FMT_QSV, but this behavior will be removed in the future. Please set "-hwaccel_output_format qsv"
explicitly if AV_PIX_FMT_QSV is expected.

The normal device stuff works for QSV decoders now, user may use "-init_hw_device args" to initialise device and "-hwaccel_device devicename" to select a device for QSV decoders. "-qsv_device device"
which was added for workarounding device selection in the ad-hoc libmfx code is deprecated and will be removed from FFmpeg.

For example:

$> ffmpeg -init_hw_device vaapi=va:/dev/dri/card0 -init_hw_device qsv=hw at va -hwaccel qsv -c:v h264_qsv -i input.h264 -f null -

/dev/dri/renderD128 is actually open for h264_qsv decoder in the above command without this patch. After applying this patch, /dev/dri/card0 is used.

$> ffmpeg -init_hw_device vaapi=va:/dev/dri/card0 -init_hw_device qsv=hw at va -hwaccel_device hw -hwaccel qsv -c:v h264_qsv -i input.h264 -f null -

device hw of type qsv is not usable in the above command without this patch. After applying this patch, this command works as expected.
---

Haihao,

I think, from all the not-yet-merged QSV patches, this is the most important one.
I'll try to find some time to review shortly.

Is this patch independent of your other submitted patches?

softworkz


More information about the ffmpeg-devel mailing list