You are not logged in.

#1 2020-01-13 15:17:37

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

fffmpeg now hard depends on intel-media-sdk, how to get around that ?

ffmpeg 1:4.2.2-1 gained a hard dependency on intel-media-sdk .

I opened https://bugs.archlinux.org/task/65129 , the dev states linked libraries can't be made optional and closed the bug.

pacman -Qi ffmpeg shows I need it for several programs I can't miss (firefox, mpv, vlc and openmw) .

I could build my own ffmpeg version without libfmx / intel-media-sdk dependencies (and possibly remove more stuff I don't need) , but are there other solutions ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#2 2020-01-13 15:21:34

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 29,441
Website

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

What's wrong with installing a dependency?

EDIT: I see the new dependencies are as big as ffmpeg itself - is that the concern?

Last edited by Trilby (2020-01-13 15:59:38)


"UNIX is simple and coherent..." - Dennis Ritchie, "GNU's Not UNIX" -  Richard Stallman

Offline

#3 2020-01-13 15:22:05

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,461

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

building your own is the only realistic option.

Offline

#4 2020-01-13 15:22:20

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

How about making a dummy package for intel-media-sdk?

https://bbs.archlinux.org/viewtopic.php?id=238210 ← does that ring any bells? tongue

Offline

#5 2020-01-13 15:23:11

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,461

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

Head_on_a_Stick wrote:

How about making a dummy package for intel-media-sdk?

https://bbs.archlinux.org/viewtopic.php?id=238210 ← does that ring any bells? tongue

How is that supposed to work for linked libraries?

Offline

#6 2020-01-13 15:25:37

Head_on_a_Stick
Member
From: London
Registered: 2014-02-20
Posts: 7,679
Website

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

Scimmia wrote:

How is that supposed to work for linked libraries?

Fuck knows, I'm clearly not understanding the problem here. Sorry for the noise.

Offline

#7 2020-01-13 15:42:18

seth
Member
Registered: 2012-09-03
Posts: 49,951

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

NoExtract the shit out of it - afaics it only actually links libmfx.so - which is 52k …
It might be reasonable to split intel-media-sdk ?

Offline

#8 2020-01-13 19:50:26

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,595
Website

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

seth wrote:

NoExtract the shit out of it - afaics it only actually links libmfx.so - which is 52k …
It might be reasonable to split intel-media-sdk ?

@OP - You might open a flyspray to request this.  Excellent idea if only libmfx.so is needed.


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#9 2020-01-13 20:29:55

Tharbad
Member
Registered: 2016-02-27
Posts: 268

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

Adding my finding so far:
It requires at least a Broadwell CPU (Core i#-5###). So if you have an AMD CPU, I'm not sure what will happen if ffmpeg will need this library.
Anyone have an idea how can I test this? I don't have AMD but I have a pre Broadwell CPU. Is there a command for that?

Offline

#10 2020-01-13 20:41:26

seth
Member
Registered: 2012-09-03
Posts: 49,951

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

If you have the library and there's no stupid bug in libav: nothing.
If you don't have the libary and there's an unresolvable dynamic link: everything that links libav will fail to start.

Offline

#11 2020-01-14 05:39:02

liewkj
Member
Registered: 2019-07-08
Posts: 210

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

It now installs the following packages even for platforms that will never use them, such as older generations of Intel HD Graphics, AMD and NVIDIA-only platforms.

local/intel-media-driver 19.4.0.r-1
local/intel-media-sdk 19.4.0-1
local/intel-gmmlib 19.4.1-1

Personally, I dislike such practice. Platform and hardware specific libraries should be dlopen() and resolved by function pointers.

Last edited by liewkj (2020-01-14 11:09:44)

Offline

#12 2020-01-14 10:46:04

liewkj
Member
Registered: 2019-07-08
Posts: 210

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

Lone_Wolf wrote:

ffmpeg 1:4.2.2-1 gained a hard dependency on intel-media-sdk .

I opened https://bugs.archlinux.org/task/65129 , the dev states linked libraries can't be made optional and closed the bug.

Why did the dev decide to enable libmfx linking? Intel Media SDK is not a universal library and explicitly requires iHD VA driver.

Offline

#13 2020-01-14 12:44:02

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

Why did the dev decide to enable libmfx linking? Intel Media SDK is not a universal library and explicitly requires iHD VA driver.

No idea, the commit where it was added doesn't give  a reason.


The files in intel-media-sdk suggest it's main goal is making fmx available.
I've also looked at the ffmpeg PKGBUILD ands noticed there's a lot more in it I don't need, like IEEE 1394 aka firewire support.

I'll create a custom PKGBUILD for my personal use.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#14 2020-01-14 19:08:38

seth
Member
Registered: 2012-09-03
Posts: 49,951

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

Offline

#15 2020-01-15 02:15:51

liewkj
Member
Registered: 2019-07-08
Posts: 210

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

I don't understand how libmfx.so can be split from intel-media-sdk. Glancing through the AUR, there are multiple ffmpeg flavors that provide full hardware specific support. The common package should be generic and vendor agnostic. I rebuilt the package with custom PKGBUILD to remove --enable-libmfx and that's about it. I really don't understand the reason to force Intel hardware specific libraries onto AMD/NVIDIA platforms or older Intel platforms that would never be capable of using them.

Offline

#16 2020-01-15 08:37:28

seth
Member
Registered: 2012-09-03
Posts: 49,951

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

You create a packacke that only contains libmfx.so and have intel-media-sdk and ffmpeg both depend on it.

common package should be generic

https://www.youtube.com/watch?v=5RyYrs5tu60

Offline

#17 2020-01-16 19:14:05

DrZaius
Member
Registered: 2008-01-02
Posts: 193

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

As for what it is used for, --enable-libmfx enables Intel Quick Sync Video hardware based decoding/encoding of H.264, HEVC, MJPEG, MPEG-2 video, VC-1 (decoding only), VP8, VP9. Availability of formats is hardware dependent. More info at FFmpeg Wiki: Quick Sync.

Not sure why it was added to the ffmpeg package. There doesn't seem to be a feature request, and as already mentioned there is no commit message.

Offline

#18 2020-01-20 02:03:47

liewkj
Member
Registered: 2019-07-08
Posts: 210

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

So would it mean that gst-libav (ffmpeg plugin for gstreamer ) can now access hardware video acceleration through libmfx in the form of gst-libav -> libmfx -> hardware decode/encode?

Offline

#19 2020-01-20 18:32:13

digitalone
Member
Registered: 2011-08-19
Posts: 328

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

I have ffmpeg-git from AUR and this package is not listed under dependencies. Everything is working correctly.

If you don't want to compile it, install from archlinux-cn repository.

Last edited by digitalone (2020-01-20 18:32:47)

Offline

#20 2020-01-21 09:16:17

seth
Member
Registered: 2012-09-03
Posts: 49,951

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

Offline

#21 2020-01-21 11:43:15

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

Good news, maybe I'll to switch back to repo ffmpeg then.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#22 2020-01-21 14:55:16

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

liewkj wrote:

I don't understand how libmfx.so can be split from intel-media-sdk. Glancing through the AUR, there are multiple ffmpeg flavors that provide full hardware specific support. The common package should be generic and vendor agnostic. I rebuilt the package with custom PKGBUILD to remove --enable-libmfx and that's about it. I really don't understand the reason to force Intel hardware specific libraries onto AMD/NVIDIA platforms or older Intel platforms that would never be capable of using them.

As a general rule of thumb, Arch tends to configure packages --with-kitchen-sink in order to make sure they can do anything a user would reasonably want them to do. libmfx support doesn't seem to do any harm, other than the somewhat onerous install footprint of intel-media-sdk. And we don't usually provide "flavors" of a package fine-tuned to specific hardware, either.

So it makes sense to add libmfx support either way. On the other hand, it sounds like libmfx is a dispatcher capable of dlopening other libraries as needed, and as the last few comments indicate, it seems to be reasonable to split them apart and we will soon see the package built that way... because libmfx on its own is small and not a bother to depend on, and if you're not using those intel platforms it will just do nothing.


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#23 2020-01-24 01:41:44

Zod
Member
From: Hoosiertucky
Registered: 2019-03-10
Posts: 629

Re: fffmpeg now hard depends on intel-media-sdk, how to get around that ?

libmfx is out.



[2020-01-23T19:47:39-0500] [PACMAN] Running 'pacman -Syu'
[2020-01-23T19:47:39-0500] [PACMAN] synchronizing package lists
[2020-01-23T19:47:39-0500] [PACMAN] starting full system upgrade
[2020-01-23T19:47:51-0500] [ALPM] transaction started
[2020-01-23T19:47:51-0500] [ALPM] installed libmfx (19.4.0-4)
[2020-01-23T19:47:51-0500] [ALPM] upgraded libutil-linux (2.34-8 -> 2.35-1)
[2020-01-23T19:47:51-0500] [ALPM] upgraded util-linux (2.34-8 -> 2.35-1)
[2020-01-23T19:47:51-0500] [ALPM] upgraded ffmpeg (1:4.2.2-1 -> 1:4.2.2-2)
[2020-01-23T19:47:56-0500] [ALPM] upgraded intel-media-sdk (19.4.0-1 -> 19.4.0-4)
[2020-01-23T19:47:57-0500] [ALPM] transaction completed
[2020-01-23T19:47:57-0500] [ALPM] running '20-systemd-sysusers.hook'...
[2020-01-23T19:47:57-0500] [ALPM] running '30-systemd-daemon-reload.hook'...
[2020-01-23T19:47:57-0500] [ALPM] running '30-systemd-udev-reload.hook'...
[2020-01-23T19:47:57-0500] [ALPM] running '30-systemd-update.hook'...
[2020-01-23T19:47:57-0500] [ALPM] running 'cleanup.hook'...
[2020-01-23T19:47:57-0500] [ALPM-SCRIPTLET] ==> no candidate packages found for pruning
[2020-01-23T19:48:25-0500] [PACMAN] Running 'pacman -Rns intel-media-sdk'
[2020-01-23T19:48:38-0500] [ALPM] transaction started
[2020-01-23T19:48:38-0500] [ALPM] removed intel-media-sdk (19.4.0-4)
[2020-01-23T19:48:38-0500] [ALPM] removed intel-media-driver (19.4.0.r-1)
[2020-01-23T19:48:38-0500] [ALPM] removed intel-gmmlib (19.4.1-1)
[2020-01-23T19:48:38-0500] [ALPM] transaction completed

Offline

Board footer

Powered by FluxBB