diff mbox series

[FFmpeg-devel] configure: autodetect libdrm

Message ID 20231229042326.3703625-1-haihao.xiang@intel.com
State Accepted
Commit 440e08e4bb463d37de1d67a1fc47ebae542570ef
Headers show
Series [FFmpeg-devel] configure: autodetect libdrm | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Xiang, Haihao Dec. 29, 2023, 4:23 a.m. UTC
From: Haihao Xiang <haihao.xiang@intel.com>

option kernel_driver for vaapi device creation can be used to choose the
desired device on Linux, which is more convenient than DRM render node
in a multiple-device system (e.g. Intel iGPU + AMD dGPU or inverse), but
this option requires libdrm works. vaapi is autodetected at
configuration time, let's make libdrm autodetected too.

Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
---
 configure | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Xiang, Haihao Jan. 5, 2024, 3:58 a.m. UTC | #1
On Vr, 2023-12-29 at 12:23 +0800, Xiang, Haihao wrote:
> From: Haihao Xiang <haihao.xiang@intel.com>
> 
> option kernel_driver for vaapi device creation can be used to choose the
> desired device on Linux, which is more convenient than DRM render node
> in a multiple-device system (e.g. Intel iGPU + AMD dGPU or inverse), but
> this option requires libdrm works. vaapi is autodetected at
> configuration time, let's make libdrm autodetected too.
> 
> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
> ---
>  configure | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/configure b/configure
> index cd66e42850..1f7d3ef11e 100755
> --- a/configure
> +++ b/configure
> @@ -339,7 +339,7 @@ External library support:
>    --disable-d3d12va        disable Microsoft Direct3D 12 video acceleration
> code [autodetect]
>    --disable-dxva2          disable Microsoft DirectX 9 video acceleration
> code [autodetect]
>    --disable-ffnvcodec      disable dynamically linked Nvidia code
> [autodetect]
> -  --enable-libdrm          enable DRM code (Linux) [no]
> +  --disable-libdrm         disable DRM code (Linux) [autodetect]
>    --enable-libmfx          enable Intel MediaSDK (AKA Quick Sync Video) code
> via libmfx [no]
>    --enable-libvpl          enable Intel oneVPL code via libvpl if libmfx is
> not used [no]
>    --enable-libnpp          enable Nvidia Performance Primitives-based code
> [no]
> @@ -1855,7 +1855,6 @@ EXTERNAL_LIBRARY_LIST="
>      libcodec2
>      libdav1d
>      libdc1394
> -    libdrm
>      libflite
>      libfontconfig
>      libfreetype
> @@ -1931,6 +1930,7 @@ HWACCEL_AUTODETECT_LIBRARY_LIST="
>      d3d12va
>      dxva2
>      ffnvcodec
> +    libdrm
>      nvdec
>      nvenc
>      vaapi
> @@ -6749,7 +6749,7 @@ enabled libcodec2         && require libcodec2
> codec2/codec2.h codec2_create -lc
>  enabled libdav1d          && require_pkg_config libdav1d "dav1d >= 0.5.0"
> "dav1d/dav1d.h" dav1d_version
>  enabled libdavs2          && require_pkg_config libdavs2 "davs2 >= 1.6.0"
> davs2.h davs2_decoder_open
>  enabled libdc1394         && require_pkg_config libdc1394 libdc1394-2
> dc1394/dc1394.h dc1394_new
> -enabled libdrm            && require_pkg_config libdrm libdrm xf86drm.h
> drmGetVersion
> +enabled libdrm            && check_pkg_config libdrm libdrm xf86drm.h
> drmGetVersion
>  enabled libfdk_aac        && { check_pkg_config libfdk_aac fdk-aac "fdk-
> aac/aacenc_lib.h" aacEncOpen ||
>                                 { require libfdk_aac fdk-aac/aacenc_lib.h
> aacEncOpen -lfdk-aac &&
>                                   warn "using libfdk without pkg-config"; } }

Will push if no objections.

BRs
Haihao
Zhao Zhili Jan. 5, 2024, 7:58 a.m. UTC | #2
> On Dec 29, 2023, at 12:23, Xiang, Haihao <haihao.xiang-at-intel.com@ffmpeg.org> wrote:
> 
> From: Haihao Xiang <haihao.xiang@intel.com>
> 
> option kernel_driver for vaapi device creation can be used to choose the
> desired device on Linux, which is more convenient than DRM render node
> in a multiple-device system (e.g. Intel iGPU + AMD dGPU or inverse), but
> this option requires libdrm works. vaapi is autodetected at
> configuration time, let's make libdrm autodetected too.
> 
> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
> ---
> configure | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
> 

LGTM.

> -- 
> 2.34.1
> 
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
Xiang, Haihao Jan. 9, 2024, 1:52 a.m. UTC | #3
On Vr, 2024-01-05 at 15:58 +0800, Zhao Zhili wrote:
> 
> 
> > On Dec 29, 2023, at 12:23, Xiang, Haihao
> > <haihao.xiang-at-intel.com@ffmpeg.org> wrote:
> > 
> > From: Haihao Xiang <haihao.xiang@intel.com>
> > 
> > option kernel_driver for vaapi device creation can be used to choose the
> > desired device on Linux, which is more convenient than DRM render node
> > in a multiple-device system (e.g. Intel iGPU + AMD dGPU or inverse), but
> > this option requires libdrm works. vaapi is autodetected at
> > configuration time, let's make libdrm autodetected too.
> > 
> > Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
> > ---
> > configure | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> 
> LGTM.

Pushed, thx
diff mbox series

Patch

diff --git a/configure b/configure
index cd66e42850..1f7d3ef11e 100755
--- a/configure
+++ b/configure
@@ -339,7 +339,7 @@  External library support:
   --disable-d3d12va        disable Microsoft Direct3D 12 video acceleration code [autodetect]
   --disable-dxva2          disable Microsoft DirectX 9 video acceleration code [autodetect]
   --disable-ffnvcodec      disable dynamically linked Nvidia code [autodetect]
-  --enable-libdrm          enable DRM code (Linux) [no]
+  --disable-libdrm         disable DRM code (Linux) [autodetect]
   --enable-libmfx          enable Intel MediaSDK (AKA Quick Sync Video) code via libmfx [no]
   --enable-libvpl          enable Intel oneVPL code via libvpl if libmfx is not used [no]
   --enable-libnpp          enable Nvidia Performance Primitives-based code [no]
@@ -1855,7 +1855,6 @@  EXTERNAL_LIBRARY_LIST="
     libcodec2
     libdav1d
     libdc1394
-    libdrm
     libflite
     libfontconfig
     libfreetype
@@ -1931,6 +1930,7 @@  HWACCEL_AUTODETECT_LIBRARY_LIST="
     d3d12va
     dxva2
     ffnvcodec
+    libdrm
     nvdec
     nvenc
     vaapi
@@ -6749,7 +6749,7 @@  enabled libcodec2         && require libcodec2 codec2/codec2.h codec2_create -lc
 enabled libdav1d          && require_pkg_config libdav1d "dav1d >= 0.5.0" "dav1d/dav1d.h" dav1d_version
 enabled libdavs2          && require_pkg_config libdavs2 "davs2 >= 1.6.0" davs2.h davs2_decoder_open
 enabled libdc1394         && require_pkg_config libdc1394 libdc1394-2 dc1394/dc1394.h dc1394_new
-enabled libdrm            && require_pkg_config libdrm libdrm xf86drm.h drmGetVersion
+enabled libdrm            && check_pkg_config libdrm libdrm xf86drm.h drmGetVersion
 enabled libfdk_aac        && { check_pkg_config libfdk_aac fdk-aac "fdk-aac/aacenc_lib.h" aacEncOpen ||
                                { require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac &&
                                  warn "using libfdk without pkg-config"; } }