diff options
author | Haihao Xiang <haihao.xiang@intel.com> | 2021-08-11 14:01:54 +0800 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2021-08-11 13:45:36 -0300 |
commit | ecee3b07cde23e05bcc6b4eaa55d860b62dbd2dc (patch) | |
tree | a7654ef7c9328b861fb97c706c4c13d1f86a8ae0 /libavformat/avc.c | |
parent | 35b1f46d7930b052d8accb63ccf0993451ae36f2 (diff) | |
download | ffmpeg-ecee3b07cde23e05bcc6b4eaa55d860b62dbd2dc.tar.gz |
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 still works
For example:
$> ffmpeg -init_hw_device qsv=qsv:hw_any,child_device=/dev/dri/card0
-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@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.
Reviewed-by: Soft Works <softworkz@hotmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavformat/avc.c')
0 files changed, 0 insertions, 0 deletions