Bug 5970

Summary: ffmpeg compile parameter "--enable--vaapi" needs to be enable for kdenlive (timelinepreview or proxy)
Product: Fedora Reporter: Onuralp SEZER <thunderbirdtr>
Component: kdenliveAssignee: Rex Dieter <rdieter>
Status: RESOLVED INVALID    
Severity: enhancement CC: belegdol, hobbes1069, kwizart, leigh123linux, ry, sergio
Priority: P1    
Version: f34   
Hardware: x86_64   
OS: GNU/Linux   
namespace:

Description Onuralp SEZER 2021-04-10 14:28:36 CEST
Current ffmpeg doesn't have "--enable-vaapi" paramaters and for that reason, we can't use any of AMD/Intel vaapi parameters

Source : https://trac.ffmpeg.org/wiki/Hardware/VAAPI
Source1: https://github.com/flathub/org.kde.kdenlive/issues/92



Fedora already have,

 libva
 Intel(R) Media Driver for VAAPI
 Intel(R) Graphics Memory Management Library
 Intel® Media SDK
 Intel-vaapi-driver
 Intel Hybrid Driver

and ffmpeg parameter

--enable-libmfx

But "--enable-vaapi" not present.



Kdenlive source code (intel/amd vaapi side)

https://invent.kde.org/multimedia/kdenlive/-/blob/master/data/encodingprofiles.rc#L45-46

Thank you.
Comment 1 Nicolas Chauvet 2021-04-10 15:06:34 CEST
Thanks for your report. However it's is incorrect.

--enable-vaapi is implicit as the libva-devel is added to BR.

See also: vaapi is enabled in our build (for ages ! )
https://koji.rpmfusion.org/kojifiles/work/tasks/8968/478968/build.log


Another point is that mpv or vlc require ffmpeg/vaapi support which does work as appropriate already.


The kdenlive code makes some weird assumption instead, that the intel render device is always is /dev/dri/renderD128. I don't think it's always assumed to be the case...

One has to check mlt also...
Comment 2 Onuralp SEZER 2021-04-10 15:24:59 CEST
> The kdenlive code makes some weird assumption instead, that the intel render
> > device is always is /dev/dri/renderD128. I don't think it's always assumed to
> be the case...

Well that's probably because how intel handle it, 

https://github.com/intel/media-driver/blob/0e9c2d02d4ecd8a62e60daf6f24860645afcbc85/media_driver/linux/common/ddi/media_libva_util.h#L33
Comment 3 leigh scott 2021-04-10 16:30:28 CEST
(In reply to Onuralp SEZER from comment #0)
> Current ffmpeg doesn't have "--enable-vaapi" paramaters and for that reason,
> we can't use any of AMD/Intel vaapi parameters
> 
> Source : https://trac.ffmpeg.org/wiki/Hardware/VAAPI
> Source1: https://github.com/flathub/org.kde.kdenlive/issues/92
> 

Are you using rpmfusion kdelive of flathub?

I note their ffmpeg (flathub doesn't use system ffmpeg) enables vaapi but have missing libva dep

https://github.com/flathub/org.kde.kdenlive/blob/master/org.kde.kdenlive.json#L466

> 
> 
> Fedora already have,
> 
>  libva
>  Intel(R) Media Driver for VAAPI
>  Intel(R) Graphics Memory Management Library
>  Intel® Media SDK
>  Intel-vaapi-driver
>  Intel Hybrid Driver
> 
> and ffmpeg parameter
> 
> --enable-libmfx
> 
> But "--enable-vaapi" not present.

See https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/4.4:/configure#l349

> 
> 
> 
> Kdenlive source code (intel/amd vaapi side)
> 
> https://invent.kde.org/multimedia/kdenlive/-/blob/master/data/
> encodingprofiles.rc#L45-46
> 
> Thank you.
Comment 4 Onuralp SEZER 2021-04-11 10:18:12 CEST
(In reply to leigh scott from comment #3)
> (In reply to Onuralp SEZER from comment #0)
> > Current ffmpeg doesn't have "--enable-vaapi" paramaters and for that reason,
> > we can't use any of AMD/Intel vaapi parameters
> > 
> > Source : https://trac.ffmpeg.org/wiki/Hardware/VAAPI
> > Source1: https://github.com/flathub/org.kde.kdenlive/issues/92
> > 
> 
> Are you using rpmfusion kdelive of flathub?

I'm using rpmfusion version of kdenlive

 
> I note their ffmpeg (flathub doesn't use system ffmpeg) enables vaapi but
> have missing libva dep
> 
> https://github.com/flathub/org.kde.kdenlive/blob/master/org.kde.kdenlive.
> json#L466
> 
> > 
> > 
> > Fedora already have,
> > 
> >  libva
> >  Intel(R) Media Driver for VAAPI
> >  Intel(R) Graphics Memory Management Library
> >  Intel® Media SDK
> >  Intel-vaapi-driver
> >  Intel Hybrid Driver
> > 
> > and ffmpeg parameter
> > 
> > --enable-libmfx
> > 
> > But "--enable-vaapi" not present.
> 
> See
> https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/refs/heads/release/4.4:/
> configure#l349

After doing little bit more research, I re-tested with rpmfusion version of ffmpeg instead of the one I enabled enable-vaapi version, yes it works as well. 



> 
> > 
> > 
> > 
> > Kdenlive source code (intel/amd vaapi side)
> > 
> > https://invent.kde.org/multimedia/kdenlive/-/blob/master/data/
> > encodingprofiles.rc#L45-46
> > 
> > Thank you.