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. |