| Summary: | media-video/vlc-3.0.18-r3 causes ffmpeg-6 downgrade to media-video/ffmpeg-4.4.4-r2 | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Martin Mokrejš <mmokrejs> |
| Component: | Current packages | Assignee: | Gentoo Linux bug wranglers <bug-wranglers> |
| Status: | RESOLVED INVALID | ||
| Severity: | normal | ||
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
|
Description
Martin Mokrejš
2023-07-15 04:52:16 UTC
No, vlc is causing the downgrade. # vim /etc/portage/package.mask/ffmpeg # emerge -pv vlc These are the packages that would be merged, in order: Calculating dependencies... done! Dependency resolution took 3.90 s. !!! All ebuilds that could satisfy "<media-video/ffmpeg-5" have been masked. !!! One of the following masked packages is required to complete your request: - media-video/ffmpeg-4.4.4-r2::gentoo (masked by: package.mask) - media-video/ffmpeg-4.2.9::gentoo (masked by: package.mask) (dependency required by "media-video/vlc-3.0.18-r3::gentoo[vaapi]" [ebuild]) (dependency required by "vlc" [argument]) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. * IMPORTANT: 18 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. # USE=-vaapi emerge -pv vlc These are the packages that would be merged, in order: Calculating dependencies ... done! Dependency resolution took 2.93 s. [ebuild N ] media-video/vlc-3.0.18-r3:0/5-9::gentoo USE="X a52 alsa aom archive bluray dav1d dbus dts dvbpsi dvd encode faad fdk ffmpeg flac fontconfig gcrypt gstreamer gui jpeg libnotify libsamplerate live mad matroska mp3 mpeg mtp ncurses nfs ogg opus png samba srt ssl svg truetype twolame udev upnp v4l vnc vpx wayland x264 x265 xml -aribsub -bidi -cddb -chromaprint -chromecast -dc1394 -debug (-directx) -fluidsynth -gme -ieee1394 -jack -kate -keyring -libass -libcaca -libtar -libtiger -linsys -lirc -lua -macosx-notifications -modplug -musepack -omxil -optimisememory -projectm -pulseaudio -rdp -run-as-root -sdl-image -sftp -shout -sid -skins -soxr -speex -taglib -test -theora -tremor -vaapi -vdpau -zeroconf -zvbi" CPU_FLAGS_X86="mmx sse" LUA_SINGLE_TARGET="lua5-1" 0 KiB Total: 1 package (1 new), Size of downloads: 0 KiB * IMPORTANT: 18 news items need reading for repository 'gentoo'. * Use eselect news read to view new items. # Yep, all looks fine. But why vlc cannout support Intel QuickSyncVideo with >=media-video/ffmpeg-6? I am running on x11, not wayland on this host, AFAICT.
$ vainfo
Trying display: wayland
Trying display: x11
libva info: VA-API version 1.18.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /usr/lib64/va/drivers/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_18
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.18 (libva 2.18.2)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.2.3 ()
vainfo: Supported profile and entrypoints
VAProfileNone : VAEntrypointVideoProc
VAProfileNone : VAEntrypointStats
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Simple : VAEntrypointEncSlice
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointFEI
VAProfileH264Main : VAEntrypointEncSliceLP
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointFEI
VAProfileH264High : VAEntrypointEncSliceLP
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointEncPicture
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264ConstrainedBaseline: VAEntrypointFEI
VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
VAProfileVP8Version0_3 : VAEntrypointVLD
VAProfileVP8Version0_3 : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointFEI
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
$
$ xdpyinfo | head
name of display: :0.0
version number: 11.0
vendor string: The X.Org Foundation
vendor release number: 12101008
X.Org version: 21.1.8
maximum request size: 16777212 bytes
motion buffer size: 256
bitmap unit, bit order, padding: 32, LSBFirst, 32
image byte order: LSBFirst
number of supported pixmap formats: 7
$
$ xdriinfo
Screen 0: iris
$
Per graphics in https://wiki.ubuntu.com/IntelQuickSyncVideo it seems having the latest ffmpeg is the key step ahead.
I just blocked <=media-video/ffmpeg-6.0 to prevent it.
(In reply to Martin Mokrejš from comment #5) > But why vlc cannout support Intel QuickSyncVideo with > >=media-video/ffmpeg-6? I am running on x11, not wayland on this host, > AFAICT. > It's purely with USE=vaapi and you can see the linked upstream bugs for why. I see the error but I do not really understand why ffmpeg-6.0 does not configure the vaapi, although it is still mentioned in current docs https://ffmpeg.org/index.html#news . checking for libavutil variant... ffmpeg checking for AVCODEC... yes checking for libavcodec/avcodec.h... yes checking for libavutil/avutil.h... yes checking for LIBVA... yes checking for LIBVA_DRM... yes checking for LIBVA_X11... yes checking for LIBVA_WL... yes checking for libavcodec/vaapi.h... no configure: error: libva is present but libavcodec/vaapi.h is missing Anyway, seems I should more focus on getting --enable-libmfx passed to ffmpeg's configure per https://ffmpeg.org/general.html to get "1.10 Intel QuickSync Video". And at least per "1.18 OpenH264" I should actually disable open264: "For decoding, this library is much more limited than the built-in decoder in libavcodec; currently, this library lacks support for decoding B-frames and some other main/high profile features. (It currently only supports constrained baseline profile and CABAC.) Using it is mostly useful for testing ...". I think should better enfore USE=-vaapi to vlc. Why is glx configure feature deliberately disabled in media-libs/libva ebuild? See https://bugs.gentoo.org/905453#c1 It used to be guided by USE="X" variable although it was about "opengl" and "vaapi"? https://github.com/intel/libva/blob/master/va/glx/va_glx.c https://github.com/intel/libva/blob/master/configure.ac https://github.com/zaps166/QMPlay2/issues/604 I think >=ffmpeg-5 simply does not provide the file libavcodec/vaapi.h and subsequently vlc's configure bails out that it cannot fullfill the USE=vaapi requirement. But at the same time, ffmpeg version 6.0 says: $ ffmpeg -hwaccels 2>/dev/null | grep vaapi vaapi $ (In reply to Martin Mokrejš from comment #8) > Why is glx configure feature deliberately disabled in media-libs/libva > ebuild? I don't know, I assume it's something to do with libglvnd. > > I think >=ffmpeg-5 simply does not provide the file libavcodec/vaapi.h and > subsequently vlc's configure bails out that it cannot fullfill the USE=vaapi > requirement. But at the same time, ffmpeg version 6.0 says: > > $ ffmpeg -hwaccels 2>/dev/null | grep vaapi > vaapi > $ Per the linked bugs on the VLC bug, it's fixed in VLC master, but it's too complex to backport to 3.x. |