[FFmpeg-devel] [PATCH] ffmpeg_qsv: use -hwaccel_device to specify a device for VAAPI backend

Rogozhkin, Dmitry V dmitry.v.rogozhkin at intel.com
Wed Sep 2 10:00:13 EEST 2020


On Wed, 2020-09-02 at 04:28 +0000, Xiang, Haihao wrote:
> On Wed, 2020-09-02 at 04:20 +0000, Soft Works wrote:
> > > -----Original Message-----
> > > From: ffmpeg-devel <ffmpeg-devel-bounces at ffmpeg.org> On Behalf Of
> > > Haihao Xiang
> > > Sent: Wednesday, September 2, 2020 6:01 AM
> > > To: ffmpeg-devel at ffmpeg.org
> > > Cc: Haihao Xiang <haihao.xiang at intel.com>
> > > Subject: [FFmpeg-devel] [PATCH] ffmpeg_qsv: use -hwaccel_device
> > > to
> > > specify a device for VAAPI backend
> > > 
> > > According to the FFmpeg documentation, -hwaccel_device can be
> > > used to
> > > select a device for hardware acceleration
> > > 
> > > Example:
> > > ffmpeg -hwaccel qsv -hwaccel_device /dev/dri/renderD129 -c:v
> > > h264_qsv \ -i
> > > in.h264 -c:v hevc_qsv out.h265
> > 
> > No. The docs say about hwaccel_device
> > 
> > It can either refer to an existing device created with 
> > -init_hw_device by name, 
> > 
> > => /dev/dri/renderD129 is not an existing device name
> > 
> > or it can create a new device as if ‘-init_hw_device’ 
> > type:hwaccel_device were called immediately before.
> > 
> > => /dev/dri/renderD129 is not a valid string for init_hw_device

Well, it seems that's where documentation does not reflect the reality
since (as pointed by Haihao below) 
https://trac.ffmpeg.org/wiki/Hardware/VAAPI is full of contradictory
examples.

> > 
> > 
> > Hence, the patch doesn't make sense.
> 
> in https://trac.ffmpeg.org/wiki/Hardware/VAAPI, 
> 
> If only one stream is being used, -hwaccel_device can also accept a
> device path
> directly
> 
> ffmpeg -hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -i ...
> 
> I think it can be applied to qsv too.
> 

I agree. Part of ffmpeg help:
    -hwaccel hwaccel name  use HW accelerated decoding
    -hwaccel_device devicename  select a device for HW acceleration

To me specifying device via -hwaccel_device in the way it is being
suggest in commit is pretty intuitive and is better than explain people
that there is -qsv_device for that purpose. Niceness of -hwaccel_device
is that it is not tight to particular acceleration, hence easier to
work with for end users.

> 
> 
> > 
> > Kind regards,
> > softworkz
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel at ffmpeg.org
> > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > 
> > To unsubscribe, visit link above, or email
> > ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-devel mailing list