]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
transcode: vaapi - remove depedency on libdrm
authorJaroslav Kysela <perex@perex.cz>
Sun, 3 Sep 2017 17:27:13 +0000 (19:27 +0200)
committerJaroslav Kysela <perex@perex.cz>
Sun, 3 Sep 2017 17:27:13 +0000 (19:27 +0200)
configure
src/transcoding/codec/codecs/libs/vaapi.c

index 40a2fec77a5de5439d4621688665f925a8c8e088..231df23477bff34c33f1fdcb112b8b923ac00124 100755 (executable)
--- a/configure
+++ b/configure
@@ -591,7 +591,6 @@ if enabled_or_auto vaapi; then
       check_pkg libva-drm ">=0.38.0" || die "libva-drm not found"
       enable vaapi
       enable hwaccels
-      check_cc_header "libdrm/drm" libdrm_h
     elif enabled vaapi; then
       die "vaapi (Video Acceleration (VA) API for Linux) not found"
     fi
index 48f8491734836294499aac82bfdd0ff8d789962d..3d4fc022b83767c82a0fee90d5a39fad53e7bf5a 100644 (file)
 #include "transcoding/codec/internals.h"
 #include <fcntl.h>
 #include <sys/ioctl.h>
-#if ENABLE_LIBDRM_H
-#include <libdrm/drm.h>
-#else
-#include <drm/drm.h>
-#endif
 
 
 #define AV_DICT_SET_QP(d, v, a) \
@@ -40,6 +35,29 @@ typedef struct {
     int quality;
 } tvh_codec_profile_vaapi_t;
 
+#if defined(__linux__)
+#include <linux/types.h>
+#include <asm/ioctl.h>
+#else
+#include <sys/ioccom.h>
+#include <sys/types.h>
+typedef size_t   __kernel_size_t;
+#endif
+
+typedef struct drm_version {
+   int version_major;        /**< Major version */
+   int version_minor;        /**< Minor version */
+   int version_patchlevel;   /**< Patch level */
+   __kernel_size_t name_len; /**< Length of name buffer */
+   char *name;               /**< Name of driver */
+   __kernel_size_t date_len; /**< Length of date buffer */
+   char *date;               /**< User-space buffer to hold date */
+   __kernel_size_t desc_len; /**< Length of desc buffer */
+   char *desc;               /**< User-space buffer to hold desc */
+} drm_version_t;
+
+#define DRM_IOCTL_VERSION _IOWR('d', 0x00, struct drm_version)
+
 
 static int
 probe_vaapi_device(const char *device, char *name, size_t namelen)