package/kodi: bump to version 17.1-Krypton

Removed unneeded patches
- 0001-Fixup-include-path.patch (not needed after CMake switch)
- 0005-native-TexturePacker-fix-compilation-with-gcc-4.6.patch
  (applied upstream)
- 0006-ffmpeg30.patch (was backported from 17.0-Krypton to 16.0-Jarvis)
- 0007-exif-Fix-for-out-of-memory-errors-with-large-numbers.patch
  (was backported from 17.0-Krypton to 16.0-Jarvis)
- 0008-Fix-nullpadding-issue-when-reading-certain-id3v1-tag.patch
  (was backported from 17.0-Krypton to 16.0-Jarvis)
- 0009-lib-cximage-6.0-fix-compilation-with-gcc6.patch
  (cximage was removed in bump from 16.x to 17.0)
- 0010-curl-support-version-7.5.0-and-upwards.patch
  (applied upstream)
- 0011-xbmc_pvr_types.h-Fix-compilation-with-gcc6.patch
  (applied upstream)
- 0012-Fix_includes_in_amcodec.patch
  (was backported from 17.0-Krypton to 16.0-Jarvis)

Rebased patches
- 0004-kodi-config.cmake-use-CMAKE_FIND_ROOT_PATH-to-fix-cr.patch
  also renamed to 0001-...

Removed dependencies not needed anymore:
- boost
  41ae93f091
- giflib
  d44338baf1
- jasper/tiff
  00724eb109
- jpeg
  7d5bdfb9a0
- libdcadec
  378eb2687c
- libglew
  03ff0d5ea0
- libgcrypt
  was already an optional dependency in Kodi 16, not part of the CMake
  buildsystem anymore
- libmpeg2
  d22c829d67
- libogg/libvorbis
  4c60969177
- libpng
  be6b50c6c3
- librtmp, the new rtmp inputstream addon will be added later
  d04f43a4eb
- libsquish
  ed03f828be
- xlib_libXmu
- xlib_libXt

Switched to CMake, autoconf was deprecated:
https://github.com/xbmc/xbmc/pull/10797

The dependency for egl/gles on arm, formerly enforced by the automake
build system, was not ported to CMake.

Bumped BR2_TOOLCHAIN_GCC_AT_LEAST to 4.8 to fix build errors with
gcc-4.7 found while testing
http://autobuild.buildroot.net/toolchains/configs/sourcery-x86.config
For details please read
http://lists.busybox.net/pipermail/buildroot/2017-April/190195.html

Added hard-dependency for libegl, needed after
0ac305f7cf

Libva support depends on X11
https://github.com/xbmc/xbmc/blob/Krypton/project/cmake/modules/FindVAAPI.cmake#L42
and OpenGL/EGL
https://github.com/xbmc/xbmc/blob/Krypton/xbmc/cores/VideoPlayer/DVDCodecs/Video/VAAPI.h#L23

Libvdpau support depends on X11
https://github.com/xbmc/xbmc/blob/Krypton/project/cmake/modules/FindVDPAU.cmake#L21
and OpenGL/EGL
https://github.com/xbmc/xbmc/blob/Krypton/xbmc/cores/VideoPlayer/DVDCodecs/Video/VDPAU.h#L43

Updated clean-up hook and added host-xmlstarlet as dependency to
manipulate the list of default system addons in addon-manifest.xml.

Added dependency to BR2_ENABLE_LOCALE, needs iconv_open:
https://github.com/xbmc/xbmc/blob/Krypton/xbmc/utils/CharsetConverter.cpp#L200

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: minor tweaks.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Bernd Kuhls 2017-04-29 10:37:28 +02:00 committed by Thomas Petazzoni
parent e81839aff1
commit 24a07d58af
17 changed files with 280 additions and 2686 deletions

View File

@ -145,6 +145,12 @@ endif
###############################################################################
comment "Legacy options removed in 2017.05"
config BR2_PACKAGE_KODI_RTMPDUMP
bool "kodi rtmp has been removed"
select BR2_LEGACY
help
Internal rtmp support was removed from Kodi.
config BR2_PACKAGE_KODI_VISUALISATION_FOUNTAIN
bool "kodi-visualisation-fountain has been removed"
select BR2_LEGACY

View File

@ -1,33 +0,0 @@
From 63c255f1f5d68363f49193aceed343e602dc8bdf Mon Sep 17 00:00:00 2001
From: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Date: Thu, 26 Dec 2013 21:17:10 +0100
Subject: [PATCH] Fixup include path
Patch originally taken from :
http://repository.timesys.com/buildsources/x/xbmc/xbmc-11.0/xbmc-11.0-fixups.patch
Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
---
lib/enca/configure | 3 ---
lib/enca/configure.ac | 3 ---
lib/libdvd/libdvdread/misc/dvdread-config.sh | 6 +++---
lib/timidity/configure.in | 6 +++---
4 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/lib/libdvd/libdvdread/misc/dvdread-config.sh b/lib/libdvd/libdvdread/misc/dvdread-config.sh
index e170c7e..25ee893 100644
--- a/lib/libdvd/libdvdread/misc/dvdread-config.sh
+++ b/lib/libdvd/libdvdread/misc/dvdread-config.sh
@@ -48,9 +48,9 @@ if test "$echo_prefix" = "yes"; then
fi
if test "$echo_cflags" = "yes"; then
- echo -I$prefix/include $extracflags
+ echo $extracflags
fi
if test "$echo_libs" = "yes"; then
- echo -L$libdir $dvdreadlib
-fi
+ echo $dvdreadlib
+fi

View File

@ -0,0 +1,42 @@
From 6604cce38fed748e98d3bd2bf9d0f368d67eeb3c Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Wed, 29 Jul 2015 23:13:33 +0200
Subject: [PATCH] kodi-config.cmake: use CMAKE_FIND_ROOT_PATH to fix
cross-compilation
When cross-compiling, the location at build time of the libraries is
not the same as the one at run-time. The CMAKE_FIND_ROOT_PATH variable
is here to handle this difference, so use it in kodi-config.cmake.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
(rebased and simplified for Kodi 17.0-Krypton)
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
project/cmake/KodiConfig.cmake.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/project/cmake/KodiConfig.cmake.in b/project/cmake/KodiConfig.cmake.in
index 76626ec..ffb8e1d 100644
--- a/project/cmake/KodiConfig.cmake.in
+++ b/project/cmake/KodiConfig.cmake.in
@@ -7,7 +7,7 @@ if(NOT @APP_NAME_UC@_PREFIX)
set(@APP_NAME_UC@_PREFIX @APP_PREFIX@)
endif()
if(NOT @APP_NAME_UC@_INCLUDE_DIR)
- set(@APP_NAME_UC@_INCLUDE_DIR @APP_INCLUDE_DIR@)
+ set(@APP_NAME_UC@_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}/@APP_INCLUDE_DIR@)
endif()
if(NOT @APP_NAME_UC@_LIB_DIR)
set(@APP_NAME_UC@_LIB_DIR @APP_LIB_DIR@)
@@ -18,7 +18,7 @@ endif()
if(NOT WIN32)
set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} @CXX11_SWITCH@")
endif()
-list(APPEND CMAKE_MODULE_PATH @APP_LIB_DIR@ @APP_DATA_DIR@/cmake)
+list(APPEND CMAKE_MODULE_PATH ${CMAKE_FIND_ROOT_PATH}/@APP_LIB_DIR@ ${CMAKE_FIND_ROOT_PATH}/@APP_DATA_DIR@/cmake)
string(REPLACE ";" " " ARCH_DEFINES "@ARCH_DEFINES@")
add_definitions(${ARCH_DEFINES} -DBUILD_KODI_ADDON)
--
2.5.0

View File

@ -0,0 +1,39 @@
CMake: Remove dependency on gmp and libintl from FindPython.cmake
Downloaded from Openelec:
https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/mediacenter/kodi/patches/kodi-998.02-cmake-python.patch
The dependency for libintl and gmp was introduced by this commit
https://github.com/xbmc/xbmc/commit/8558d672e98b62f3ea0126ba491376add8ed71cb
without further explanation and, apparently, without necessity.
A question asking whether this is really needed was sent upstream:
https://github.com/xbmc/xbmc/pull/10973#pullrequestreview-34179550
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
diff -Naur kodi-17.1-Krypton/project/cmake/modules/FindPython.cmake kodi-17.1-Krypton.patch/project/cmake/modules/FindPython.cmake
--- kodi-17.1-Krypton/project/cmake/modules/FindPython.cmake 2017-03-20 17:17:49.000000000 +0100
+++ kodi-17.1-Krypton.patch/project/cmake/modules/FindPython.cmake 2017-03-30 11:10:01.065718667 +0200
@@ -16,14 +16,12 @@
if(KODI_DEPENDSBUILD)
find_library(FFI_LIBRARY ffi REQUIRED)
find_library(EXPAT_LIBRARY expat REQUIRED)
- find_library(INTL_LIBRARY intl REQUIRED)
- find_library(GMP_LIBRARY gmp REQUIRED)
if(NOT CORE_SYSTEM_NAME STREQUAL android)
set(PYTHON_DEP_LIBRARIES pthread dl util)
endif()
- set(PYTHON_LIBRARIES ${PYTHON_LIBRARY} ${FFI_LIBRARY} ${EXPAT_LIBRARY} ${INTL_LIBRARY} ${GMP_LIBRARY} ${PYTHON_DEP_LIBRARIES})
+ set(PYTHON_LIBRARIES ${PYTHON_LIBRARY} ${FFI_LIBRARY} ${EXPAT_LIBRARY} ${PYTHON_DEP_LIBRARIES})
else()
find_package(PythonLibs 2.7 REQUIRED)
list(APPEND PYTHON_LIBRARIES ${PC_PYTHON_STATIC_LIBRARIES})
@@ -36,4 +34,4 @@
set(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR})
endif()
-mark_as_advanced(PYTHON_EXECUTABLE PYTHON_INCLUDE_DIRS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES PYTHON_LDFLAGS FFI_LIBRARY EXPAT_LIBRARY INTL_LIBRARY GMP_LIBRARY)
+mark_as_advanced(PYTHON_EXECUTABLE PYTHON_INCLUDE_DIRS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES PYTHON_LDFLAGS FFI_LIBRARY EXPAT_LIBRARY)

View File

@ -1,67 +0,0 @@
Patch sent upstream:
https://github.com/xbmc/xbmc/pull/7551
From a6d6a1a36ff2dff2586fbad2a068e7df14b55fdc Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Sun, 19 Jul 2015 14:12:03 +0200
Subject: [PATCH 1/1] ALSA: fix device change event support
Current uClibc version 0.9.33.2 does not support eventfd_read/write.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
configure.ac | 5 ++++-
xbmc/linux/FDEventMonitor.cpp | 12 ++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index d321f7d..4c6c750 100644
--- a/configure.ac
+++ b/configure.ac
@@ -911,7 +911,7 @@ AC_FUNC_STRFTIME
AC_FUNC_STRTOD
AC_FUNC_UTIME_NULL
AC_FUNC_VPRINTF
-AC_CHECK_FUNCS([atexit dup2 fdatasync floor fs_stat_dev ftime ftruncate getcwd gethostbyaddr gethostbyname gethostname getpagesize getpass gettimeofday inet_ntoa lchown localeconv memchr memmove memset mkdir modf munmap pow rmdir select setenv setlocale socket sqrt strcasecmp strchr strcspn strdup strerror strncasecmp strpbrk strrchr strspn strstr strtol strtoul sysinfo tzset utime posix_fadvise localtime_r])
+AC_CHECK_FUNCS([atexit dup2 fdatasync floor fs_stat_dev ftime ftruncate getcwd gethostbyaddr gethostbyname gethostname getpagesize getpass gettimeofday inet_ntoa lchown localeconv memchr memmove memset mkdir modf munmap pow rmdir select setenv setlocale socket sqrt strcasecmp strchr strcspn strdup strerror strncasecmp strpbrk strrchr strspn strstr strtol strtoul sysinfo tzset utime posix_fadvise localtime_r eventfd_read eventfd_write])
# Check for various sizes
AC_CHECK_SIZEOF([int])
@@ -2064,6 +2064,9 @@ fi
if test "$use_alsa" = "yes"; then
USE_ALSA=1
AC_DEFINE([USE_ALSA],[1],["Define to 1 if alsa is installed"])
+ if test "$ac_cv_func_eventfd_read" = "yes" -a "$ac_cv_func_eventfd_write" = "yes"; then
+ AC_DEFINE([HAVE_EVENTFD],[1],["Define to 1 if eventfd is installed"])
+ fi
final_message="$final_message\n ALSA:\t\tYes"
else
USE_ALSA=0
diff --git a/xbmc/linux/FDEventMonitor.cpp b/xbmc/linux/FDEventMonitor.cpp
index 4a41477..84efeb9 100644
--- a/xbmc/linux/FDEventMonitor.cpp
+++ b/xbmc/linux/FDEventMonitor.cpp
@@ -28,6 +28,18 @@
#include "FDEventMonitor.h"
+#ifndef HAVE_EVENTFD
+static int eventfd_read(int __fd, eventfd_t *__value)
+{
+ return read(__fd, __value, sizeof(eventfd_t)) == sizeof(eventfd_t) ? 0 : -1;
+}
+
+static int eventfd_write(int __fd, eventfd_t __value)
+{
+ return write(__fd, &__value, sizeof(eventfd_t)) == sizeof(eventfd_t) ? 0 : -1;
+}
+#endif
+
CFDEventMonitor::CFDEventMonitor() :
CThread("FDEventMonitor"),
m_nextID(0),
--
1.7.10.4

View File

@ -1,41 +0,0 @@
From 6604cce38fed748e98d3bd2bf9d0f368d67eeb3c Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Wed, 29 Jul 2015 23:13:33 +0200
Subject: [PATCH] kodi-config.cmake: use CMAKE_FIND_ROOT_PATH to fix
cross-compilation
When cross-compiling, the location at build time of the libraries is
not the same as the one at run-time. The CMAKE_FIND_ROOT_PATH variable
is here to handle this difference, so use it in kodi-config.cmake.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
project/cmake/kodi-config.cmake.in | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/project/cmake/kodi-config.cmake.in b/project/cmake/kodi-config.cmake.in
index 76626ec..ffb8e1d 100644
--- a/project/cmake/kodi-config.cmake.in
+++ b/project/cmake/kodi-config.cmake.in
@@ -7,15 +7,15 @@
SET(@APP_NAME_UC@_PREFIX @APP_PREFIX@)
ENDIF()
IF(NOT @APP_NAME_UC@_INCLUDE_DIR)
- SET(@APP_NAME_UC@_INCLUDE_DIR @APP_INCLUDE_DIR@)
+ SET(@APP_NAME_UC@_INCLUDE_DIR ${CMAKE_FIND_ROOT_PATH}/@APP_INCLUDE_DIR@)
ENDIF()
IF(NOT @APP_NAME_UC@_LIB_DIR)
- SET(@APP_NAME_UC@_LIB_DIR @APP_LIB_DIR@)
+ SET(@APP_NAME_UC@_LIB_DIR ${CMAKE_FIND_ROOT_PATH}/@APP_LIB_DIR@)
ENDIF()
IF(NOT WIN32)
SET(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} @CXX11_SWITCH@")
ENDIF()
-LIST(APPEND CMAKE_MODULE_PATH @APP_LIB_DIR@)
+LIST(APPEND CMAKE_MODULE_PATH ${CMAKE_FIND_ROOT_PATH}/@APP_LIB_DIR@)
ADD_DEFINITIONS(@ARCH_DEFINES@ -DBUILD_KODI_ADDON)
if(NOT CORE_SYSTEM_NAME)
--
2.5.0

View File

@ -1,53 +0,0 @@
From 2b395fb3f07551ae1ce2e484c14ac59f36e192b0 Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Thu, 17 Mar 2016 21:47:53 +0100
Subject: [PATCH] native/TexturePacker: fix compilation with gcc 4.6
Kodi itself depends on gcc >= 4.7 due to its use of the C++11 standard.
When cross-compiling the host gcc currently also needs to be >= 4.7 due
to the texturepacker tool being needed as native binary to compile
Textures.xbt for the target system.
Cross-compiling on a system where host gcc is at version 4.6 fails atm
with this error:
cc1plus: error: unrecognized command line option '-std=c++11'
make[4]: *** [md5.o] Error 1
make[4]: *** Waiting for unfinished jobs....
cc1plus: error: unrecognized command line option '-std=c++11'
cc1plus: error: unrecognized command line option '-std=c++11'
make[4]: *** [DecoderManager.o] Error 1
make[4]: *** [XBTFWriter.o] Error 1
cc1plus: error: unrecognized command line option '-std=c++11'
make[4]: *** [TexturePacker.o] Error 1
cc1plus: error: unrecognized command line option '-std=c++11'
make[4]: *** [decoder/PNGDecoder.o] Error 1
make[3]: *** [all] Error 2
make[2]: *** [native/TexturePacker] Error 2
Using this patch the problem is fixed and a working TexturePacker host
binary is created.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Patch sent upstream: https://github.com/xbmc/xbmc/pull/9378
---
tools/depends/native/TexturePacker/src/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/depends/native/TexturePacker/src/Makefile.am b/tools/depends/native/TexturePacker/src/Makefile.am
index c1fc8be..d075290 100644
--- a/tools/depends/native/TexturePacker/src/Makefile.am
+++ b/tools/depends/native/TexturePacker/src/Makefile.am
@@ -2,7 +2,7 @@ AUTOMAKE_OPTIONS = subdir-objects
AM_CFLAGS = -DTARGET_POSIX -DUSE_LZO_PACKING
AM_CFLAGS += @EXTRA_DEFINES@
-AM_CXXFLAGS = $(AM_CFLAGS) -std=c++11
+AM_CXXFLAGS = $(AM_CFLAGS) -std=c++0x
AM_CPPFLAGS = \
-I. \
--
2.7.0

View File

@ -1,646 +0,0 @@
Add support for ffmpeg 3.0
Changes from original commit are only in file paths & quilt refresh.
commit c31b7d374062f87c7512d9872cbceac920465913
Author: Philip Langdale <philipl@overt.org>
Date: Mon Sep 21 19:49:36 2015 -0700
ffmpeg: Update AVPixelFormat and AV_PIX_FMT_* to compile with master
The deprecated PixelFormat and PIX_FMT_* names have been removed in
ffmpeg master.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Downloaded from
https://gitweb.gentoo.org/repo/gentoo.git/tree/media-tv/kodi/files/kodi-16-ffmpeg3.patch]
Index: xbmc-16.0-Jarvis/xbmc/cores/FFmpeg.h
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/FFmpeg.h
+++ xbmc-16.0-Jarvis/xbmc/cores/FFmpeg.h
@@ -24,7 +24,6 @@
#include "utils/CPUInfo.h"
extern "C" {
-#include "libswscale/swscale.h"
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libavutil/avutil.h"
@@ -33,23 +32,6 @@ extern "C" {
#include "libpostproc/postprocess.h"
}
-inline int SwScaleCPUFlags()
-{
- unsigned int cpuFeatures = g_cpuInfo.GetCPUFeatures();
- int flags = 0;
-
- if (cpuFeatures & CPU_FEATURE_MMX)
- flags |= SWS_CPU_CAPS_MMX;
- if (cpuFeatures & CPU_FEATURE_MMX2)
- flags |= SWS_CPU_CAPS_MMX2;
- if (cpuFeatures & CPU_FEATURE_3DNOW)
- flags |= SWS_CPU_CAPS_3DNOW;
- if (cpuFeatures & CPU_FEATURE_ALTIVEC)
- flags |= SWS_CPU_CAPS_ALTIVEC;
-
- return flags;
-}
-
inline int PPCPUFlags()
{
unsigned int cpuFeatures = g_cpuInfo.GetCPUFeatures();
Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp
+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/DVDCodecUtils.cpp
@@ -39,7 +39,7 @@ extern "C" {
#include "libswscale/swscale.h"
}
-// allocate a new picture (PIX_FMT_YUV420P)
+// allocate a new picture (AV_PIX_FMT_YUV420P)
DVDVideoPicture* CDVDCodecUtils::AllocatePicture(int iWidth, int iHeight)
{
DVDVideoPicture* pPicture = new DVDVideoPicture;
@@ -264,13 +264,13 @@ DVDVideoPicture* CDVDCodecUtils::Convert
int dstformat;
if (format == RENDER_FMT_UYVY422)
- dstformat = PIX_FMT_UYVY422;
+ dstformat = AV_PIX_FMT_UYVY422;
else
- dstformat = PIX_FMT_YUYV422;
+ dstformat = AV_PIX_FMT_YUYV422;
- struct SwsContext *ctx = sws_getContext(pSrc->iWidth, pSrc->iHeight, PIX_FMT_YUV420P,
+ struct SwsContext *ctx = sws_getContext(pSrc->iWidth, pSrc->iHeight, AV_PIX_FMT_YUV420P,
pPicture->iWidth, pPicture->iHeight, (AVPixelFormat)dstformat,
- SWS_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
+ SWS_BILINEAR, NULL, NULL, NULL);
sws_scale(ctx, src, srcStride, 0, pSrc->iHeight, dst, dstStride);
sws_freeContext(ctx);
}
@@ -403,25 +403,25 @@ double CDVDCodecUtils::NormalizeFramedur
}
struct EFormatMap {
- PixelFormat pix_fmt;
+ AVPixelFormat pix_fmt;
ERenderFormat format;
};
static const EFormatMap g_format_map[] = {
- { PIX_FMT_YUV420P, RENDER_FMT_YUV420P }
-, { PIX_FMT_YUVJ420P, RENDER_FMT_YUV420P }
-, { PIX_FMT_YUV420P10, RENDER_FMT_YUV420P10 }
-, { PIX_FMT_YUV420P16, RENDER_FMT_YUV420P16 }
-, { PIX_FMT_UYVY422, RENDER_FMT_UYVY422 }
-, { PIX_FMT_YUYV422, RENDER_FMT_YUYV422 }
-, { PIX_FMT_VAAPI_VLD, RENDER_FMT_VAAPI }
-, { PIX_FMT_DXVA2_VLD, RENDER_FMT_DXVA }
-, { PIX_FMT_NONE , RENDER_FMT_NONE }
+ { AV_PIX_FMT_YUV420P, RENDER_FMT_YUV420P }
+, { AV_PIX_FMT_YUVJ420P, RENDER_FMT_YUV420P }
+, { AV_PIX_FMT_YUV420P10, RENDER_FMT_YUV420P10 }
+, { AV_PIX_FMT_YUV420P16, RENDER_FMT_YUV420P16 }
+, { AV_PIX_FMT_UYVY422, RENDER_FMT_UYVY422 }
+, { AV_PIX_FMT_YUYV422, RENDER_FMT_YUYV422 }
+, { AV_PIX_FMT_VAAPI_VLD, RENDER_FMT_VAAPI }
+, { AV_PIX_FMT_DXVA2_VLD, RENDER_FMT_DXVA }
+, { AV_PIX_FMT_NONE , RENDER_FMT_NONE }
};
ERenderFormat CDVDCodecUtils::EFormatFromPixfmt(int fmt)
{
- for(const EFormatMap *p = g_format_map; p->pix_fmt != PIX_FMT_NONE; ++p)
+ for(const EFormatMap *p = g_format_map; p->pix_fmt != AV_PIX_FMT_NONE; ++p)
{
if(p->pix_fmt == fmt)
return p->format;
@@ -431,10 +431,10 @@ ERenderFormat CDVDCodecUtils::EFormatFro
int CDVDCodecUtils::PixfmtFromEFormat(ERenderFormat fmt)
{
- for(const EFormatMap *p = g_format_map; p->pix_fmt != PIX_FMT_NONE; ++p)
+ for(const EFormatMap *p = g_format_map; p->pix_fmt != AV_PIX_FMT_NONE; ++p)
{
if(p->format == fmt)
return p->pix_fmt;
}
- return PIX_FMT_NONE;
+ return AV_PIX_FMT_NONE;
}
Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.cpp
@@ -77,8 +77,8 @@ enum DecoderState
STATE_SW_MULTI
};
-enum PixelFormat CDVDVideoCodecFFmpeg::GetFormat( struct AVCodecContext * avctx
- , const PixelFormat * fmt )
+enum AVPixelFormat CDVDVideoCodecFFmpeg::GetFormat( struct AVCodecContext * avctx
+ , const AVPixelFormat * fmt )
{
CDVDVideoCodecFFmpeg* ctx = (CDVDVideoCodecFFmpeg*)avctx->opaque;
@@ -104,8 +104,8 @@ enum PixelFormat CDVDVideoCodecFFmpeg::G
avctx->hwaccel_context = 0;
}
- const PixelFormat * cur = fmt;
- while(*cur != PIX_FMT_NONE)
+ const AVPixelFormat * cur = fmt;
+ while(*cur != AV_PIX_FMT_NONE)
{
#ifdef HAVE_LIBVDPAU
if(VDPAU::CDecoder::IsVDPAUFormat(*cur) && CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEVDPAU))
@@ -137,7 +137,7 @@ enum PixelFormat CDVDVideoCodecFFmpeg::G
#endif
#ifdef HAVE_LIBVA
// mpeg4 vaapi decoding is disabled
- if(*cur == PIX_FMT_VAAPI_VLD && CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEVAAPI))
+ if(*cur == AV_PIX_FMT_VAAPI_VLD && CSettings::GetInstance().GetBool(CSettings::SETTING_VIDEOPLAYER_USEVAAPI))
{
VAAPI::CDecoder* dec = new VAAPI::CDecoder();
if(dec->Open(avctx, ctx->m_pCodecContext, *cur, ctx->m_uSurfacesCount) == true)
@@ -214,11 +214,11 @@ bool CDVDVideoCodecFFmpeg::Open(CDVDStre
for(std::vector<ERenderFormat>::iterator it = options.m_formats.begin(); it != options.m_formats.end(); ++it)
{
- m_formats.push_back((PixelFormat)CDVDCodecUtils::PixfmtFromEFormat(*it));
+ m_formats.push_back((AVPixelFormat)CDVDCodecUtils::PixfmtFromEFormat(*it));
if(*it == RENDER_FMT_YUV420P)
- m_formats.push_back(PIX_FMT_YUVJ420P);
+ m_formats.push_back(AV_PIX_FMT_YUVJ420P);
}
- m_formats.push_back(PIX_FMT_NONE); /* always add none to get a terminated list in ffmpeg world */
+ m_formats.push_back(AV_PIX_FMT_NONE); /* always add none to get a terminated list in ffmpeg world */
pCodec = avcodec_find_decoder(hints.codec);
@@ -655,7 +655,7 @@ bool CDVDVideoCodecFFmpeg::GetPictureCom
pDvdVideoPicture->color_transfer = m_pCodecContext->color_trc;
pDvdVideoPicture->color_matrix = m_pCodecContext->colorspace;
if(m_pCodecContext->color_range == AVCOL_RANGE_JPEG
- || m_pCodecContext->pix_fmt == PIX_FMT_YUVJ420P)
+ || m_pCodecContext->pix_fmt == AV_PIX_FMT_YUVJ420P)
pDvdVideoPicture->color_range = 1;
else
pDvdVideoPicture->color_range = 0;
@@ -738,8 +738,8 @@ bool CDVDVideoCodecFFmpeg::GetPicture(DV
pDvdVideoPicture->iFlags |= pDvdVideoPicture->data[0] ? 0 : DVP_FLAG_DROPPED;
pDvdVideoPicture->extended_format = 0;
- PixelFormat pix_fmt;
- pix_fmt = (PixelFormat)m_pFrame->format;
+ AVPixelFormat pix_fmt;
+ pix_fmt = (AVPixelFormat)m_pFrame->format;
pDvdVideoPicture->format = CDVDCodecUtils::EFormatFromPixfmt(pix_fmt);
return true;
Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h
+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecFFmpeg.h
@@ -46,7 +46,7 @@ public:
public:
IHardwareDecoder() {}
virtual ~IHardwareDecoder() {};
- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces) = 0;
+ virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces) = 0;
virtual int Decode (AVCodecContext* avctx, AVFrame* frame) = 0;
virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture) = 0;
virtual int Check (AVCodecContext* avctx) = 0;
@@ -77,7 +77,7 @@ public:
void SetHardware(IHardwareDecoder* hardware);
protected:
- static enum PixelFormat GetFormat(struct AVCodecContext * avctx, const PixelFormat * fmt);
+ static enum AVPixelFormat GetFormat(struct AVCodecContext * avctx, const AVPixelFormat * fmt);
int FilterOpen(const std::string& filters, bool scale);
void FilterClose();
@@ -119,7 +119,7 @@ protected:
int m_iLastKeyframe;
double m_dts;
bool m_started;
- std::vector<PixelFormat> m_formats;
+ std::vector<AVPixelFormat> m_formats;
double m_decoderPts;
int m_skippedDeint;
bool m_requestSkipDeint;
Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DVDVideoCodecVDA.cpp
@@ -554,11 +554,11 @@ void CDVDVideoCodecVDA::DisplayQueuePop(
void CDVDVideoCodecVDA::UYVY422_to_YUV420P(uint8_t *yuv422_ptr, int yuv422_stride, DVDVideoPicture *picture)
{
- // convert PIX_FMT_UYVY422 to PIX_FMT_YUV420P.
+ // convert AV_PIX_FMT_UYVY422 to AV_PIX_FMT_YUV420P.
struct SwsContext *swcontext = sws_getContext(
- m_videobuffer.iWidth, m_videobuffer.iHeight, PIX_FMT_UYVY422,
- m_videobuffer.iWidth, m_videobuffer.iHeight, PIX_FMT_YUV420P,
- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
+ m_videobuffer.iWidth, m_videobuffer.iHeight, AV_PIX_FMT_UYVY422,
+ m_videobuffer.iWidth, m_videobuffer.iHeight, AV_PIX_FMT_YUV420P,
+ SWS_FAST_BILINEAR, NULL, NULL, NULL);
if (swcontext)
{
uint8_t *src[] = { yuv422_ptr, 0, 0, 0 };
@@ -574,11 +574,11 @@ void CDVDVideoCodecVDA::UYVY422_to_YUV42
void CDVDVideoCodecVDA::BGRA_to_YUV420P(uint8_t *bgra_ptr, int bgra_stride, DVDVideoPicture *picture)
{
- // convert PIX_FMT_BGRA to PIX_FMT_YUV420P.
+ // convert AV_PIX_FMT_BGRA to AV_PIX_FMT_YUV420P.
struct SwsContext *swcontext = sws_getContext(
- m_videobuffer.iWidth, m_videobuffer.iHeight, PIX_FMT_BGRA,
- m_videobuffer.iWidth, m_videobuffer.iHeight, PIX_FMT_YUV420P,
- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
+ m_videobuffer.iWidth, m_videobuffer.iHeight, AV_PIX_FMT_BGRA,
+ m_videobuffer.iWidth, m_videobuffer.iHeight, AV_PIX_FMT_YUV420P,
+ SWS_FAST_BILINEAR, NULL, NULL, NULL);
if (swcontext)
{
uint8_t *src[] = { bgra_ptr, 0, 0, 0 };
Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.cpp
@@ -886,7 +886,7 @@ static bool CheckCompatibility(AVCodecCo
return true;
}
-bool CDecoder::Open(AVCodecContext *avctx, AVCodecContext* mainctx, enum PixelFormat fmt, unsigned int surfaces)
+bool CDecoder::Open(AVCodecContext *avctx, AVCodecContext* mainctx, enum AVPixelFormat fmt, unsigned int surfaces)
{
if (!CheckCompatibility(avctx))
return false;
@@ -1135,9 +1135,9 @@ bool CDecoder::OpenDecoder()
return true;
}
-bool CDecoder::Supports(enum PixelFormat fmt)
+bool CDecoder::Supports(enum AVPixelFormat fmt)
{
- if(fmt == PIX_FMT_DXVA2_VLD)
+ if(fmt == AV_PIX_FMT_DXVA2_VLD)
return true;
return false;
}
Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h
+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/DXVA.h
@@ -141,7 +141,7 @@ class CDecoder
public:
CDecoder();
~CDecoder();
- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces);
+ virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces);
virtual int Decode (AVCodecContext* avctx, AVFrame* frame);
virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture);
virtual int Check (AVCodecContext* avctx);
@@ -154,7 +154,7 @@ public:
int GetBuffer(AVCodecContext *avctx, AVFrame *pic, int flags);
void RelBuffer(uint8_t *data);
- static bool Supports(enum PixelFormat fmt);
+ static bool Supports(enum AVPixelFormat fmt);
void CloseDXVADecoder();
Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp
@@ -479,7 +479,7 @@ CDecoder::~CDecoder()
Close();
}
-bool CDecoder::Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat fmt, unsigned int surfaces)
+bool CDecoder::Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat fmt, unsigned int surfaces)
{
// don't support broken wrappers by default
// nvidia cards with a vaapi to vdpau wrapper
Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h
+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.h
@@ -406,7 +406,7 @@ public:
CDecoder();
virtual ~CDecoder();
- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces = 0);
+ virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces = 0);
virtual int Decode (AVCodecContext* avctx, AVFrame* frame);
virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture);
virtual void Reset();
Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp
+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.cpp
@@ -186,7 +186,7 @@ void CDecoder::Close()
m_bitstream = NULL;
}
-bool CDecoder::Open(AVCodecContext *avctx, AVCodecContext* mainctx, enum PixelFormat fmt, unsigned int surfaces)
+bool CDecoder::Open(AVCodecContext *avctx, AVCodecContext* mainctx, enum AVPixelFormat fmt, unsigned int surfaces)
{
Close();
Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h
+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDA.h
@@ -35,7 +35,7 @@ class CDecoder
public:
CDecoder();
~CDecoder();
- virtual bool Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces = 0);
+ virtual bool Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces = 0);
virtual int Decode(AVCodecContext* avctx, AVFrame* frame);
virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture);
virtual int Check(AVCodecContext* avctx);
Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.cpp
@@ -486,7 +486,7 @@ CDecoder::CDecoder() : m_vdpauOutput(&m_
m_vdpauConfig.context = 0;
}
-bool CDecoder::Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat fmt, unsigned int surfaces)
+bool CDecoder::Open(AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat fmt, unsigned int surfaces)
{
// check if user wants to decode this format with VDPAU
std::string gpuvendor = g_Windowing.GetRenderVendor();
@@ -760,7 +760,7 @@ int CDecoder::Check(AVCodecContext* avct
return 0;
}
-bool CDecoder::IsVDPAUFormat(PixelFormat format)
+bool CDecoder::IsVDPAUFormat(AVPixelFormat format)
{
if (format == AV_PIX_FMT_VDPAU)
return true;
Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h
+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDCodecs/Video/VDPAU.h
@@ -556,7 +556,7 @@ public:
CDecoder();
virtual ~CDecoder();
- virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum PixelFormat, unsigned int surfaces = 0);
+ virtual bool Open (AVCodecContext* avctx, AVCodecContext* mainctx, const enum AVPixelFormat, unsigned int surfaces = 0);
virtual int Decode (AVCodecContext* avctx, AVFrame* frame);
virtual bool GetPicture(AVCodecContext* avctx, AVFrame* frame, DVDVideoPicture* picture);
virtual void Reset();
@@ -571,7 +571,7 @@ public:
bool Supports(VdpVideoMixerFeature feature);
bool Supports(EINTERLACEMETHOD method);
EINTERLACEMETHOD AutoInterlaceMethod();
- static bool IsVDPAUFormat(PixelFormat fmt);
+ static bool IsVDPAUFormat(AVPixelFormat fmt);
static void FFReleaseBuffer(void *opaque, uint8_t *data);
static int FFGetBuffer(AVCodecContext *avctx, AVFrame *pic, int flags);
Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDDemuxers/DVDDemuxFFmpeg.cpp
@@ -1638,7 +1638,7 @@ void CDVDDemuxFFmpeg::ParsePacket(AVPack
// for video we need a decoder to get desired information into codec context
if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO && st->codec->extradata &&
- (!st->codec->width || st->codec->pix_fmt == PIX_FMT_NONE))
+ (!st->codec->width || st->codec->pix_fmt == AV_PIX_FMT_NONE))
{
// open a decoder, it will be cleared down by ffmpeg on closing the stream
if (!st->codec->codec)
@@ -1695,7 +1695,7 @@ bool CDVDDemuxFFmpeg::IsVideoReady()
st = m_pFormatContext->streams[idx];
if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO)
{
- if (st->codec->width && st->codec->pix_fmt != PIX_FMT_NONE)
+ if (st->codec->width && st->codec->pix_fmt != AV_PIX_FMT_NONE)
return true;
hasVideo = true;
}
@@ -1708,7 +1708,7 @@ bool CDVDDemuxFFmpeg::IsVideoReady()
st = m_pFormatContext->streams[i];
if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO)
{
- if (st->codec->width && st->codec->pix_fmt != PIX_FMT_NONE)
+ if (st->codec->width && st->codec->pix_fmt != AV_PIX_FMT_NONE)
return true;
hasVideo = true;
}
Index: xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDFileInfo.cpp
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/dvdplayer/DVDFileInfo.cpp
+++ xbmc-16.0-Jarvis/xbmc/cores/dvdplayer/DVDFileInfo.cpp
@@ -275,7 +275,7 @@ bool CDVDFileInfo::ExtractThumb(const st
uint8_t *pOutBuf = new uint8_t[nWidth * nHeight * 4];
struct SwsContext *context = sws_getContext(picture.iWidth, picture.iHeight,
- PIX_FMT_YUV420P, nWidth, nHeight, PIX_FMT_BGRA, SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
+ AV_PIX_FMT_YUV420P, nWidth, nHeight, AV_PIX_FMT_BGRA, SWS_FAST_BILINEAR, NULL, NULL, NULL);
if (context)
{
Index: xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
+++ xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/LinuxRendererGL.cpp
@@ -2932,7 +2932,7 @@ void CLinuxRendererGL::ToRGBFrame(YV12Im
}
else if (m_format == RENDER_FMT_NV12)
{
- srcFormat = PIX_FMT_NV12;
+ srcFormat = AV_PIX_FMT_NV12;
for (int i = 0; i < 2; i++)
{
src[i] = im->plane[i];
@@ -2941,13 +2941,13 @@ void CLinuxRendererGL::ToRGBFrame(YV12Im
}
else if (m_format == RENDER_FMT_YUYV422)
{
- srcFormat = PIX_FMT_YUYV422;
+ srcFormat = AV_PIX_FMT_YUYV422;
src[0] = im->plane[0];
srcStride[0] = im->stride[0];
}
else if (m_format == RENDER_FMT_UYVY422)
{
- srcFormat = PIX_FMT_UYVY422;
+ srcFormat = AV_PIX_FMT_UYVY422;
src[0] = im->plane[0];
srcStride[0] = im->stride[0];
}
@@ -2965,8 +2965,8 @@ void CLinuxRendererGL::ToRGBFrame(YV12Im
m_context = sws_getCachedContext(m_context,
im->width, im->height, (AVPixelFormat)srcFormat,
- im->width, im->height, (AVPixelFormat)PIX_FMT_BGRA,
- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
+ im->width, im->height, (AVPixelFormat)AV_PIX_FMT_BGRA,
+ SWS_FAST_BILINEAR, NULL, NULL, NULL);
uint8_t *dst[] = { m_rgbBuffer, 0, 0, 0 };
int dstStride[] = { (int)m_sourceWidth * 4, 0, 0, 0 };
@@ -2995,7 +2995,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I
if (m_format == RENDER_FMT_YUV420P)
{
- srcFormat = PIX_FMT_YUV420P;
+ srcFormat = AV_PIX_FMT_YUV420P;
for (int i = 0; i < 3; i++)
{
srcTop[i] = im->plane[i];
@@ -3006,7 +3006,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I
}
else if (m_format == RENDER_FMT_NV12)
{
- srcFormat = PIX_FMT_NV12;
+ srcFormat = AV_PIX_FMT_NV12;
for (int i = 0; i < 2; i++)
{
srcTop[i] = im->plane[i];
@@ -3017,7 +3017,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I
}
else if (m_format == RENDER_FMT_YUYV422)
{
- srcFormat = PIX_FMT_YUYV422;
+ srcFormat = AV_PIX_FMT_YUYV422;
srcTop[0] = im->plane[0];
srcStrideTop[0] = im->stride[0] * 2;
srcBot[0] = im->plane[0] + im->stride[0];
@@ -3025,7 +3025,7 @@ void CLinuxRendererGL::ToRGBFields(YV12I
}
else if (m_format == RENDER_FMT_UYVY422)
{
- srcFormat = PIX_FMT_UYVY422;
+ srcFormat = AV_PIX_FMT_UYVY422;
srcTop[0] = im->plane[0];
srcStrideTop[0] = im->stride[0] * 2;
srcBot[0] = im->plane[0] + im->stride[0];
@@ -3045,8 +3045,8 @@ void CLinuxRendererGL::ToRGBFields(YV12I
m_context = sws_getCachedContext(m_context,
im->width, im->height >> 1, (AVPixelFormat)srcFormat,
- im->width, im->height >> 1, (AVPixelFormat)PIX_FMT_BGRA,
- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
+ im->width, im->height >> 1, (AVPixelFormat)AV_PIX_FMT_BGRA,
+ SWS_FAST_BILINEAR, NULL, NULL, NULL);
uint8_t *dstTop[] = { m_rgbBuffer, 0, 0, 0 };
uint8_t *dstBot[] = { m_rgbBuffer + m_sourceWidth * m_sourceHeight * 2, 0, 0, 0 };
int dstStride[] = { (int)m_sourceWidth * 4, 0, 0, 0 };
Index: xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
+++ xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
@@ -2006,8 +2006,8 @@ void CLinuxRendererGLES::UploadYV12Textu
#endif
{
m_sw_context = sws_getCachedContext(m_sw_context,
- im->width, im->height, PIX_FMT_YUV420P,
- im->width, im->height, PIX_FMT_RGBA,
+ im->width, im->height, AV_PIX_FMT_YUV420P,
+ im->width, im->height, AV_PIX_FMT_RGBA,
SWS_FAST_BILINEAR, NULL, NULL, NULL);
uint8_t *src[] = { im->plane[0], im->plane[1], im->plane[2], 0 };
Index: xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/WinRenderer.cpp
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/cores/VideoRenderers/WinRenderer.cpp
+++ xbmc-16.0-Jarvis/xbmc/cores/VideoRenderers/WinRenderer.cpp
@@ -94,16 +94,16 @@ CWinRenderer::~CWinRenderer()
UnInit();
}
-static enum PixelFormat PixelFormatFromFormat(ERenderFormat format)
+static enum AVPixelFormat PixelFormatFromFormat(ERenderFormat format)
{
- if (format == RENDER_FMT_DXVA) return PIX_FMT_NV12;
- if (format == RENDER_FMT_YUV420P) return PIX_FMT_YUV420P;
- if (format == RENDER_FMT_YUV420P10) return PIX_FMT_YUV420P10;
- if (format == RENDER_FMT_YUV420P16) return PIX_FMT_YUV420P16;
- if (format == RENDER_FMT_NV12) return PIX_FMT_NV12;
- if (format == RENDER_FMT_UYVY422) return PIX_FMT_UYVY422;
- if (format == RENDER_FMT_YUYV422) return PIX_FMT_YUYV422;
- return PIX_FMT_NONE;
+ if (format == RENDER_FMT_DXVA) return AV_PIX_FMT_NV12;
+ if (format == RENDER_FMT_YUV420P) return AV_PIX_FMT_YUV420P;
+ if (format == RENDER_FMT_YUV420P10) return AV_PIX_FMT_YUV420P10;
+ if (format == RENDER_FMT_YUV420P16) return AV_PIX_FMT_YUV420P16;
+ if (format == RENDER_FMT_NV12) return AV_PIX_FMT_NV12;
+ if (format == RENDER_FMT_UYVY422) return AV_PIX_FMT_UYVY422;
+ if (format == RENDER_FMT_YUYV422) return AV_PIX_FMT_YUYV422;
+ return AV_PIX_FMT_NONE;
}
void CWinRenderer::ManageTextures()
@@ -719,13 +719,13 @@ void CWinRenderer::Render(DWORD flags)
void CWinRenderer::RenderSW()
{
- enum PixelFormat format = PixelFormatFromFormat(m_format);
+ enum AVPixelFormat format = PixelFormatFromFormat(m_format);
// 1. convert yuv to rgb
m_sw_scale_ctx = sws_getCachedContext(m_sw_scale_ctx,
m_sourceWidth, m_sourceHeight, format,
- m_sourceWidth, m_sourceHeight, PIX_FMT_BGRA,
- SWS_FAST_BILINEAR | SwScaleCPUFlags(), NULL, NULL, NULL);
+ m_sourceWidth, m_sourceHeight, AV_PIX_FMT_BGRA,
+ SWS_FAST_BILINEAR, NULL, NULL, NULL);
YUVBuffer* buf = (YUVBuffer*)m_VideoBuffers[m_iYV12RenderBuffer];
Index: xbmc-16.0-Jarvis/xbmc/pictures/Picture.cpp
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/pictures/Picture.cpp
+++ xbmc-16.0-Jarvis/xbmc/pictures/Picture.cpp
@@ -342,9 +342,9 @@ bool CPicture::ScaleImage(uint8_t *in_pi
uint8_t *out_pixels, unsigned int out_width, unsigned int out_height, unsigned int out_pitch,
CPictureScalingAlgorithm::Algorithm scalingAlgorithm /* = CPictureScalingAlgorithm::NoAlgorithm */)
{
- struct SwsContext *context = sws_getContext(in_width, in_height, PIX_FMT_BGRA,
- out_width, out_height, PIX_FMT_BGRA,
- CPictureScalingAlgorithm::ToSwscale(scalingAlgorithm) | SwScaleCPUFlags(), NULL, NULL, NULL);
+ struct SwsContext *context = sws_getContext(in_width, in_height, AV_PIX_FMT_BGRA,
+ out_width, out_height, AV_PIX_FMT_BGRA,
+ CPictureScalingAlgorithm::ToSwscale(scalingAlgorithm), NULL, NULL, NULL);
uint8_t *src[] = { in_pixels, 0, 0, 0 };
int srcStride[] = { (int)in_pitch, 0, 0, 0 };
Index: xbmc-16.0-Jarvis/xbmc/video/FFmpegVideoDecoder.cpp
===================================================================
--- xbmc-16.0-Jarvis.orig/xbmc/video/FFmpegVideoDecoder.cpp
+++ xbmc-16.0-Jarvis/xbmc/video/FFmpegVideoDecoder.cpp
@@ -252,7 +252,7 @@ bool FFmpegVideoDecoder::nextFrame( CBas
return false;
// Due to a bug in swsscale we need to allocate one extra line of data
- if ( avpicture_alloc( m_pFrameRGB, PIX_FMT_RGB32, m_frameRGBwidth, m_frameRGBheight + 1 ) < 0 )
+ if ( avpicture_alloc( m_pFrameRGB, AV_PIX_FMT_RGB32, m_frameRGBwidth, m_frameRGBheight + 1 ) < 0 )
return false;
}
@@ -287,7 +287,7 @@ bool FFmpegVideoDecoder::nextFrame( CBas
// We got the video frame, render it into the picture buffer
struct SwsContext * context = sws_getContext( m_pCodecCtx->width, m_pCodecCtx->height, m_pCodecCtx->pix_fmt,
- m_frameRGBwidth, m_frameRGBheight, PIX_FMT_RGB32, SWS_FAST_BILINEAR, NULL, NULL, NULL );
+ m_frameRGBwidth, m_frameRGBheight, AV_PIX_FMT_RGB32, SWS_FAST_BILINEAR, NULL, NULL, NULL );
sws_scale( context, m_pFrame->data, m_pFrame->linesize, 0, m_pCodecCtx->height,
m_pFrameRGB->data, m_pFrameRGB->linesize );

View File

@ -1,45 +0,0 @@
From f63563615e357b7d794a38e1d37276c325d1466f Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sat, 7 May 2016 13:47:42 +0100
Subject: [PATCH] [exif] Fix for out-of-memory errors with large numbers
of jpegs
This reverts part of https://github.com/xbmc/xbmc/pull/7472
Basically the commit made the 4 comments in the exif block increase
from 2K to 64K each, so you now need 256K per photo.
When opening a folder exif information for all photos is extracted.
So, for a folder of 5000 jpegs, 1.2GB of RAM is needed just for
the comments.
As a 64K comment string is of no use to kodi, just truncate them to 2K
like we used to.
See:
http://trac.kodi.tv/ticket/16193
http://forum.kodi.tv/showthread.php?tid=251908
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
(backported from upstream commit in master branch:
https://github.com/xbmc/xbmc/commit/f63563615e357b7d794a38e1d37276c325d1466f)
---
lib/libexif/libexif.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/libexif/libexif.h b/lib/libexif/libexif.h
index aa8da07..519ac30 100644
--- a/lib/libexif/libexif.h
+++ b/lib/libexif/libexif.h
@@ -81,7 +81,7 @@ typedef struct {
#define EXIF_COMMENT_CHARSET_UNICODE 3 // Exif: Unicode (UTF-16)
#define EXIF_COMMENT_CHARSET_JIS 4 // Exif: JIS X208-1990
-#define MAX_COMMENT 65533 // 2 bytes - 2 for the length param
+#define MAX_COMMENT 2000
#define MAX_DATE_COPIES 10
typedef struct {
--
2.8.1

View File

@ -1,82 +0,0 @@
From 78571ed421e3fd3d5244cd76670e4e1bab69132f Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Fri, 27 May 2016 17:30:28 +0200
Subject: [PATCH 1/1] Fix nullpadding issue when reading certain id3v1 tags
backported from upstream commit to master branch:
https://github.com/xbmc/xbmc/commit/cdabf9dd9e82f4b2d639fb769db08227a7c52046
to fix problems with taglib-1.11:
http://trac.kodi.tv/ticket/16454
https://github.com/taglib/taglib/issues/741#issuecomment-218059031
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
xbmc/music/tags/TagLoaderTagLib.cpp | 21 ---------------------
xbmc/music/tags/TagLoaderTagLib.h | 3 +++
2 files changed, 3 insertions(+), 21 deletions(-)
diff --git a/xbmc/music/tags/TagLoaderTagLib.cpp b/xbmc/music/tags/TagLoaderTagLib.cpp
index b78a591..0fc346a 100644
--- a/xbmc/music/tags/TagLoaderTagLib.cpp
+++ b/xbmc/music/tags/TagLoaderTagLib.cpp
@@ -46,31 +46,12 @@
#include "utils/URIUtils.h"
#include "utils/log.h"
#include "utils/StringUtils.h"
-#include "utils/CharsetConverter.h"
#include "utils/Base64.h"
#include "settings/AdvancedSettings.h"
using namespace TagLib;
using namespace MUSIC_INFO;
-template<class T>
-class TagStringHandler : public T
-{
-public:
- TagStringHandler() {}
- virtual ~TagStringHandler() {}
- virtual String parse(const ByteVector &data) const
- {
- std::string strSource(data.data(), data.size());
- std::string strUTF8;
- g_charsetConverter.unknownToUTF8(strSource, strUTF8);
- return String(strUTF8, String::UTF8);
- }
-};
-
-static const TagStringHandler<ID3v1::StringHandler> ID3v1StringHandler;
-static const TagStringHandler<ID3v2::Latin1StringHandler> ID3v2StringHandler;
-
CTagLoaderTagLib::CTagLoaderTagLib()
{
}
@@ -824,8 +805,6 @@ bool CTagLoaderTagLib::Load(const std::string& strFileName, CMusicInfoTag& tag,
return false;
}
- ID3v1::Tag::setStringHandler(&ID3v1StringHandler);
- ID3v2::Tag::setLatin1StringHandler(&ID3v2StringHandler);
TagLib::File* file = NULL;
TagLib::APE::File* apeFile = NULL;
TagLib::ASF::File* asfFile = NULL;
diff --git a/xbmc/music/tags/TagLoaderTagLib.h b/xbmc/music/tags/TagLoaderTagLib.h
index f83ea4f..0edb84f 100644
--- a/xbmc/music/tags/TagLoaderTagLib.h
+++ b/xbmc/music/tags/TagLoaderTagLib.h
@@ -44,6 +44,9 @@
#include <taglib/mp4tag.h>
#include "ImusicInfoTagLoader.h"
+#include <string>
+#include <vector>
+
namespace MUSIC_INFO
{
class CMusicInfoTag;
--
2.8.1

View File

@ -1,34 +0,0 @@
From 7d3c70b163bc67aeb1fdef8fd2347b39f311c584 Mon Sep 17 00:00:00 2001
From: fritsch <peter.fruehberger@gmail.com>
Date: Sun, 24 Jul 2016 20:24:07 +0200
Subject: [PATCH] Curl: Adjust multi_cleanup method which returns CURLMcode
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
(backported from upstream commit:
https://github.com/xbmc/xbmc/commit/2a8d3e7f6cffea52740b8392a3be8ec251d5ff70)
---
xbmc/filesystem/DllLibCurl.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/xbmc/filesystem/DllLibCurl.h b/xbmc/filesystem/DllLibCurl.h
index db97f92..9e78a91 100644
--- a/xbmc/filesystem/DllLibCurl.h
+++ b/xbmc/filesystem/DllLibCurl.h
@@ -52,7 +52,7 @@ namespace XCURL
virtual CURLMcode multi_fdset(CURLM *multi_handle, fd_set *read_fd_set, fd_set *write_fd_set, fd_set *exc_fd_set, int *max_fd)=0;
virtual CURLMcode multi_timeout(CURLM *multi_handle, long *timeout)=0;
virtual CURLMsg* multi_info_read(CURLM *multi_handle, int *msgs_in_queue)=0;
- virtual void multi_cleanup(CURL_HANDLE * handle )=0;
+ virtual CURLMcode multi_cleanup(CURLM * handle )=0;
virtual struct curl_slist* slist_append(struct curl_slist *, const char *)=0;
virtual void slist_free_all(struct curl_slist *)=0;
};
@@ -77,7 +77,7 @@ namespace XCURL
DEFINE_METHOD5(CURLMcode, multi_fdset, (CURLM *p1, fd_set *p2, fd_set *p3, fd_set *p4, int *p5))
DEFINE_METHOD2(CURLMcode, multi_timeout, (CURLM *p1, long *p2))
DEFINE_METHOD2(CURLMsg*, multi_info_read, (CURLM *p1, int *p2))
- DEFINE_METHOD1(void, multi_cleanup, (CURLM *p1))
+ DEFINE_METHOD1(CURLMcode, multi_cleanup, (CURLM *p1))
DEFINE_METHOD2(struct curl_slist*, slist_append, (struct curl_slist * p1, const char * p2))
DEFINE_METHOD1(void, slist_free_all, (struct curl_slist * p1))
DEFINE_METHOD1(const char *, easy_strerror, (CURLcode p1))

View File

@ -1,30 +0,0 @@
From a17e8d39cf01e26955574acd236b4ef5b54b8c3b Mon Sep 17 00:00:00 2001
From: Bernd Kuhls <bernd.kuhls@t-online.de>
Date: Mon, 5 Sep 2016 12:34:20 +0200
Subject: [PATCH 2/2] xbmc_pvr_types.h: Fix compilation with gcc6
Backport of upstream commit from master branch:
https://github.com/xbmc/xbmc/commit/c8a346109926fa03bf6882c0b6e3885af0e0f8ed
This patch can be removed when Kodi is bumped to 17.0-Krypton.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
xbmc/addons/include/xbmc_pvr_types.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/xbmc/addons/include/xbmc_pvr_types.h b/xbmc/addons/include/xbmc_pvr_types.h
index c5ab20b..e518de1 100644
--- a/xbmc/addons/include/xbmc_pvr_types.h
+++ b/xbmc/addons/include/xbmc_pvr_types.h
@@ -34,6 +34,7 @@
#endif
#include <string.h>
#include <stdint.h>
+#include <stdio.h>
#include "xbmc_addon_types.h"
#include "xbmc_epg_types.h"
--
2.9.3

View File

@ -1,38 +0,0 @@
commit 4bbb21aa5cee6b2f40759aa8b1bd65246a237f79
Author: Alex Deryskyba <alex@codesnake.com>
Date: Wed May 4 01:38:27 2016 +0200
[aml] Fix includes in amcodec/codec.h to make them relative
[Taken from upstream commit
https://github.com/xbmc/xbmc/commit/4bbb21aa5cee6b2f40759aa8b1bd65246a237f79.]
Signed-off-by: Dagg Stompler <daggs@gmx.com>
diff --git a/tools/depends/target/libamplayer/libamplayer/include/amcodec/codec.h b/tools/depends/target/libamplayer/libamplayer/include/amcodec/codec.h
index 187d4d5..632c24e 100644
--- a/tools/depends/target/libamplayer/libamplayer/include/amcodec/codec.h
+++ b/tools/depends/target/libamplayer/libamplayer/include/amcodec/codec.h
@@ -12,8 +12,8 @@
#ifndef CODEC_CTRL_H_
#define CODEC_CTRL_H_
-#include <codec_type.h>
-#include <codec_error.h>
+#include "codec_type.h"
+#include "codec_error.h"
int codec_init(codec_para_t *);
diff --git a/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in b/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in
index a1a3447..1bf5a89 100644
--- a/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in
+++ b/xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile.in
@@ -24,8 +24,6 @@ endif
ifeq (@USE_LIBAMCODEC@,1)
SRCS += AMLCodec.cpp
SRCS += DVDVideoCodecAmlogic.cpp
-INCLUDES += -I$(prefix)/include/amcodec
-INCLUDES += -I$(prefix)/include/amplayer
endif
ifeq (@USE_ANDROID@,1)

View File

@ -5,12 +5,13 @@ config BR2_PACKAGE_KODI_ARCH_SUPPORTS
&& BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS \
&& BR2_TOOLCHAIN_HAS_SYNC_8
comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, threads, wchar, dynamic library, gcc >= 4.7, host gcc >= 4.6"
comment "kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, locale, threads, wchar, dynamic library, gcc >= 4.8, host gcc >= 4.6"
depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS \
|| !BR2_USE_WCHAR || BR2_STATIC_LIBS \
|| !BR2_ENABLE_LOCALE \
|| !BR2_HOST_GCC_AT_LEAST_4_6 \
|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 \
|| !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \
|| BR2_TOOLCHAIN_USES_MUSL \
|| !BR2_PACKAGE_PYTHON \
|| BR2_PACKAGE_PYTHON_PYC_ONLY
@ -20,38 +21,33 @@ config BR2_PACKAGE_KODI_EGL_GLES
default y
depends on BR2_PACKAGE_HAS_LIBEGL
depends on BR2_PACKAGE_HAS_LIBGLES
depends on !BR2_PACKAGE_KODI_GL # prefer GL if available
depends on !BR2_PACKAGE_KODI_GL_EGL # prefer GL if available
config BR2_PACKAGE_KODI_GL
config BR2_PACKAGE_KODI_GL_EGL
bool
default y
depends on BR2_PACKAGE_HAS_LIBEGL
depends on BR2_PACKAGE_HAS_LIBGL
depends on !BR2_arm # kodi needs egl/gles on arm
depends on !BR2_PACKAGE_RPI_USERLAND # rpi depends on gles
comment "kodi needs an OpenGL or an openGL ES and EGL backend"
depends on BR2_i386 || BR2_x86_64
depends on !BR2_PACKAGE_KODI_GL && !BR2_PACKAGE_KODI_EGL_GLES
comment "kodi requires an OpenGL ES and EGL backend"
depends on BR2_arm
depends on !BR2_PACKAGE_KODI_EGL_GLES
comment "kodi needs an OpenGL EGL with either an openGL or an OpenGL ES backend"
depends on !BR2_PACKAGE_KODI_GL_EGL && !BR2_PACKAGE_KODI_EGL_GLES
menuconfig BR2_PACKAGE_KODI
bool "kodi"
depends on BR2_ENABLE_LOCALE
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_HOST_GCC_AT_LEAST_4_6
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on !BR2_TOOLCHAIN_USES_MUSL
depends on BR2_PACKAGE_KODI_EGL_GLES || BR2_PACKAGE_KODI_GL
depends on BR2_PACKAGE_KODI_EGL_GLES || BR2_PACKAGE_KODI_GL_EGL
depends on BR2_USE_WCHAR
depends on !BR2_STATIC_LIBS # libsquish, and others
depends on !BR2_STATIC_LIBS # python and others
depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS
depends on BR2_PACKAGE_PYTHON
depends on !BR2_PACKAGE_PYTHON_PYC_ONLY
select BR2_NEEDS_HOST_JAVA
select BR2_PACKAGE_BOOST
select BR2_PACKAGE_BOOST_THREAD
select BR2_PACKAGE_BZIP2
select BR2_PACKAGE_EXPAT
select BR2_PACKAGE_FFMPEG
@ -60,25 +56,14 @@ menuconfig BR2_PACKAGE_KODI
select BR2_PACKAGE_FFMPEG_SWSCALE
select BR2_PACKAGE_FONTCONFIG
select BR2_PACKAGE_FREETYPE
select BR2_PACKAGE_GIFLIB
select BR2_PACKAGE_JASPER
select BR2_PACKAGE_JPEG
select BR2_PACKAGE_LIBASS
select BR2_PACKAGE_LIBCDIO
select BR2_PACKAGE_LIBCROSSGUID
select BR2_PACKAGE_LIBCURL
select BR2_PACKAGE_LIBDCADEC
select BR2_PACKAGE_LIBFRIBIDI
select BR2_PACKAGE_LIBGLEW if BR2_PACKAGE_KODI_GL
select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_KODI_GL
select BR2_PACKAGE_LIBGCRYPT
select BR2_PACKAGE_LIBMPEG2
select BR2_PACKAGE_LIBOGG
select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_KODI_GL_EGL
select BR2_PACKAGE_LIBPLIST
select BR2_PACKAGE_LIBPNG
select BR2_PACKAGE_LIBSAMPLERATE
select BR2_PACKAGE_LIBSQUISH
select BR2_PACKAGE_LIBVORBIS
select BR2_PACKAGE_LIBXML2
select BR2_PACKAGE_LIBXSLT
select BR2_PACKAGE_LZO
@ -98,10 +83,9 @@ menuconfig BR2_PACKAGE_KODI
select BR2_PACKAGE_READLINE
select BR2_PACKAGE_SQLITE
select BR2_PACKAGE_TAGLIB
select BR2_PACKAGE_TIFF
select BR2_PACKAGE_TINYXML
select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_KODI_GL
select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_KODI_GL
select BR2_PACKAGE_LIBDRM if BR2_PACKAGE_KODI_GL_EGL
select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_KODI_GL_EGL
select BR2_PACKAGE_YAJL
select BR2_PACKAGE_ZLIB
select BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY if BR2_TOOLCHAIN_USES_GLIBC # runtime UTF conversion support
@ -188,13 +172,6 @@ config BR2_PACKAGE_KODI_NONFREE
Enable components with non-free licenses. This option
currently only controls support for RAR archives.
config BR2_PACKAGE_KODI_RTMPDUMP
bool "rtmp"
select BR2_PACKAGE_RTMPDUMP
help
Enable RTMP input support.
Select this if you want to play back rtmp stream.
config BR2_PACKAGE_KODI_LIBSHAIRPLAY
bool "shairport"
select BR2_PACKAGE_LIBSHAIRPLAY
@ -233,19 +210,25 @@ config BR2_PACKAGE_KODI_LIBUSB
config BR2_PACKAGE_KODI_LIBVA
bool "va"
depends on !BR2_PACKAGE_KODI_EGL_GLES
depends on BR2_PACKAGE_XORG7
select BR2_PACKAGE_LIBVA
help
Enable libva support.
comment "libva support needs X.org with an openGL backend"
depends on !BR2_PACKAGE_XORG7 || BR2_PACKAGE_KODI_EGL_GLES
config BR2_PACKAGE_KODI_LIBVDPAU
bool "vdpau"
depends on !BR2_PACKAGE_KODI_EGL_GLES
depends on BR2_PACKAGE_XORG7
select BR2_PACKAGE_LIBVDPAU
help
Enable libvdpau support.
comment "libvdpau support needs X.org"
depends on !BR2_PACKAGE_XORG7
comment "libvdpau support needs X.org with an openGL backend"
depends on !BR2_PACKAGE_XORG7 || BR2_PACKAGE_KODI_EGL_GLES
config BR2_PACKAGE_KODI_UPNP
bool "upnp"

View File

@ -1,3 +1,8 @@
# Locally computed
sha256 7d82c8aff2715c83deecdf10c566e26105bec0473af530a1356d4c747ebdfd10 kodi-16.1-Jarvis.tar.gz
sha256 303f3903cbb57ccc2961f09cf3746505542bcb129a464f0687d7ca8601cebbee kodi-17.1-Krypton.tar.gz
# Locally computed - libdvdcss
sha256 b6eb2d929ff56cb051152c32010afc5e7cf5fe8c5ae32dca412a2b46b6b57e34 2f12236.tar.gz
# Locally computed - libdvdnav
sha256 312b3d15bc448d24e92f4b2e7248409525eccc4e75776026d805478e51c5ef3d 981488f.tar.gz
# Locally computed - libdvdread
sha256 e7179b2054163652596a56301c9f025515cb08c6d6310b42b897c3ad11c0199b 17d99db.tar.gz

View File

@ -4,46 +4,35 @@
#
################################################################################
KODI_VERSION = 16.1-Jarvis
# When updating the version, please also update kodi-jsonschemabuilder
# and kodi-texturepacker
KODI_VERSION = 17.1-Krypton
KODI_SITE = $(call github,xbmc,xbmc,$(KODI_VERSION))
KODI_LICENSE = GPL-2.0
KODI_LICENSE_FILES = LICENSE.GPL
# needed for binary addons
KODI_INSTALL_STAGING = YES
KODI_DEPENDENCIES = \
boost \
bzip2 \
expat \
ffmpeg \
fontconfig \
freetype \
giflib \
host-gawk \
host-gettext \
host-giflib \
host-gperf \
host-libjpeg \
host-libpng \
host-lzo \
host-kodi-jsonschemabuilder \
host-kodi-texturepacker \
host-nasm \
host-swig \
host-xmlstarlet \
host-zip \
jasper \
jpeg \
libass \
libcdio \
libcrossguid \
libcurl \
libdcadec \
libfribidi \
libgcrypt \
libmpeg2 \
libogg \
libplist \
libpng \
libsamplerate \
libsquish \
libvorbis \
libxml2 \
libxslt \
lzo \
@ -54,191 +43,238 @@ KODI_DEPENDENCIES = \
readline \
sqlite \
taglib \
tiff \
tinyxml \
yajl \
zlib
KODI_CONF_ENV = \
PYTHON_VERSION="$(PYTHON_VERSION_MAJOR)" \
PYTHON_LDFLAGS="-lpython$(PYTHON_VERSION_MAJOR) -lpthread -ldl -lutil -lm" \
PYTHON_CPPFLAGS="-I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)" \
PYTHON_SITE_PKG="$(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages" \
PYTHON_NOVERSIONCHECK="no-check" \
use_texturepacker_native=yes \
USE_TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr" \
TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr"
KODI_SUBDIR = project/cmake
KODI_LIBDVDCSS_VERSION = 2f12236
KODI_LIBDVDNAV_VERSION = 981488f
KODI_LIBDVDREAD_VERSION = 17d99db
KODI_EXTRA_DOWNLOADS = \
https://github.com/xbmc/libdvdcss/archive/$(KODI_LIBDVDCSS_VERSION).tar.gz \
https://github.com/xbmc/libdvdnav/archive/$(KODI_LIBDVDNAV_VERSION).tar.gz \
https://github.com/xbmc/libdvdread/archive/$(KODI_LIBDVDREAD_VERSION).tar.gz
KODI_CONF_OPTS += \
--with-ffmpeg=shared \
--disable-joystick \
--disable-openmax \
--disable-pulse \
--disable-vtbdecoder \
--enable-optimizations
-DENABLE_CCACHE=OFF \
-DENABLE_DVDCSS=ON \
-DENABLE_INTERNAL_CROSSGUID=OFF \
-DENABLE_INTERNAL_FFMPEG=OFF \
-DKODI_DEPENDSBUILD=OFF \
-DENABLE_OPENSSL=ON \
-DNATIVEPREFIX=$(HOST_DIR)/usr \
-DDEPENDS_PATH=$(@D) \
-DWITH_TEXTUREPACKER=$(HOST_DIR)/usr/bin/TexturePacker \
-DLIBDVDCSS_URL=$(BR2_DL_DIR)/$(KODI_LIBDVDCSS_VERSION).tar.gz \
-DLIBDVDNAV_URL=$(BR2_DL_DIR)/$(KODI_LIBDVDNAV_VERSION).tar.gz \
-DLIBDVDREAD_URL=$(BR2_DL_DIR)/$(KODI_LIBDVDREAD_VERSION).tar.gz
ifeq ($(BR2_arm),y)
KODI_CONF_OPTS += -DWITH_ARCH=arm -DWITH_CPU=arm
else ifeq ($(BR2_mips),y)
KODI_CONF_OPTS += -DWITH_ARCH=mips -DWITH_CPU=mips
else ifeq ($(BR2_i386),y)
KODI_CONF_OPTS += -DWITH_ARCH=i486-linux -DWITH_CPU=$(BR2_GCC_TARGET_ARCH)
else ifeq ($(BR2_x86_64),y)
KODI_CONF_OPTS += -DWITH_ARCH=x86_64-linux -DWITH_CPU=x86_64
endif
ifeq ($(BR2_X86_CPU_HAS_SSE),y)
KODI_CONF_OPTS += -D_SSE_OK=ON -D_SSE_TRUE=ON
else
KODI_CONF_OPTS += -D_SSE_OK=OFF -D_SSE_TRUE=OFF
endif
ifeq ($(BR2_X86_CPU_HAS_SSE2),y)
KODI_CONF_OPTS += -D_SSE2_OK=ON -D_SSE2_TRUE=ON
else
KODI_CONF_OPTS += -D_SSE2_OK=OFF -D_SSE2_TRUE=OFF
endif
ifeq ($(BR2_X86_CPU_HAS_SSE3),y)
KODI_CONF_OPTS += -D_SSE3_OK=ON -D_SSE3_TRUE=ON
else
KODI_CONF_OPTS += -D_SSE3_OK=OFF -D_SSE3_TRUE=OFF
endif
ifeq ($(BR2_X86_CPU_HAS_SSSE3),y)
KODI_CONF_OPTS += -D_SSSE3_OK=ON -D_SSSE3_TRUE=ON
else
KODI_CONF_OPTS += -D_SSSE3_OK=OFF -D_SSSE3_TRUE=OFF
endif
ifeq ($(BR2_X86_CPU_HAS_SSE4),y)
KODI_CONF_OPTS += -D_SSE41_OK=ON -D_SSE41_TRUE=ON
else
KODI_CONF_OPTS += -D_SSE41_OK=OFF -D_SSE41_TRUE=OFF
endif
ifeq ($(BR2_X86_CPU_HAS_SSE42),y)
KODI_CONF_OPTS += -D_SSE42_OK=ON -D_SSE42_TRUE=ON
else
KODI_CONF_OPTS += -D_SSE42_OK=OFF -D_SSE42_TRUE=OFF
endif
ifeq ($(BR2_X86_CPU_HAS_AVX),y)
KODI_CONF_OPTS += -D_AVX_OK=ON -D_AVX_TRUE=ON
else
KODI_CONF_OPTS += -D_AVX_OK=OFF -D_AVX_TRUE=OFF
endif
ifeq ($(BR2_X86_CPU_HAS_AVX2),y)
KODI_CONF_OPTS += -D_AVX2_OK=ON -D_AVX2_TRUE=ON
else
KODI_CONF_OPTS += -D_AVX2_OK=OFF -D_AVX2_TRUE=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_MYSQL),y)
KODI_CONF_OPTS += --enable-mysql
KODI_CONF_ENV += ac_cv_path_MYSQL_CONFIG="$(STAGING_DIR)/usr/bin/mysql_config"
KODI_CONF_OPTS += -DENABLE_MYSQLCLIENT=ON
KODI_DEPENDENCIES += mysql
else
KODI_CONF_OPTS += --disable-mysql
KODI_CONF_OPTS += -DENABLE_MYSQLCLIENT=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_NONFREE),y)
KODI_CONF_OPTS += --enable-non-free
KODI_CONF_OPTS += -DENABLE_NONFREE=ON
KODI_LICENSE := $(KODI_LICENSE), unrar
KODI_LICENSE_FILES += lib/UnrarXLib/license.txt
else
KODI_CONF_OPTS += --disable-non-free
KODI_CONF_OPTS += -DENABLE_NONFREE=OFF
endif
ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
KODI_CONF_OPTS += -DCORE_SYSTEM_NAME=rbpi
KODI_DEPENDENCIES += rpi-userland
KODI_CONF_OPTS += --with-platform=raspberry-pi --enable-player=omxplayer
KODI_INCLUDES += \
-I$(STAGING_DIR)/usr/include/interface/vcos/pthreads \
-I$(STAGING_DIR)/usr/include/interface/vmcs_host/linux
KODI_LIBS = -lvcos -lvchostif
else
# these options only exist on non-rpi systems
KODI_CONF_OPTS += -DENABLE_LDGOLD=OFF
ifeq ($(BR2_PACKAGE_LIBAMCODEC),y)
KODI_CONF_OPTS += -DENABLE_AML=ON
KODI_DEPENDENCIES += libamcodec
else
KODI_CONF_OPTS += -DENABLE_AML=OFF
endif
ifeq ($(BR2_PACKAGE_IMX_VPUWRAP),y)
KODI_CONF_OPTS += -DENABLE_IMX=ON
KODI_DEPENDENCIES += imx-vpuwrap
else
KODI_CONF_OPTS += -DENABLE_IMX=OFF
endif
endif
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
KODI_CONF_OPTS += -DENABLE_UDEV=ON
KODI_DEPENDENCIES += udev
KODI_CONF_OPTS += --enable-udev
else
KODI_CONF_OPTS += --disable-udev
KODI_CONF_OPTS += -DENABLE_UDEV=OFF
ifeq ($(BR2_PACKAGE_KODI_LIBUSB),y)
KODI_CONF_OPTS += -DENABLE_LIBUSB=ON
KODI_DEPENDENCIES += libusb-compat
endif
ifeq ($(BR2_PACKAGE_IMX_VPUWRAP),y)
KODI_DEPENDENCIES += imx-vpuwrap
KODI_CONF_OPTS += --enable-codec=imxvpu
endif
ifeq ($(BR2_PACKAGE_LIBAMCODEC),y)
KODI_DEPENDENCIES += libamcodec
KODI_CONF_OPTS += --enable-codec=amcodec
KODI_INCLUDES += -I$(STAGING_DIR)/usr/include/amcodec
endif
KODI_CONF_ENV += \
INCLUDES="$(KODI_INCLUDES)" \
LIBS="$(KODI_LIBS)"
ifeq ($(BR2_PACKAGE_LIBCAP),y)
KODI_CONF_OPTS += --enable-libcap
KODI_CONF_OPTS += -DENABLE_CAP=ON
KODI_DEPENDENCIES += libcap
else
KODI_CONF_OPTS += --disable-libcap
KODI_CONF_OPTS += -DENABLE_CAP=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_DBUS),y)
KODI_DEPENDENCIES += dbus
KODI_CONF_OPTS += --enable-dbus
KODI_CONF_OPTS += -DENABLE_DBUS=ON
else
KODI_CONF_OPTS += --disable-dbus
KODI_CONF_OPTS += -DENABLE_DBUS=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_ALSA_LIB),y)
KODI_CONF_OPTS += -DENABLE_ALSA=ON
KODI_DEPENDENCIES += alsa-lib
KODI_CONF_OPTS += --enable-alsa
else
KODI_CONF_OPTS += --disable-alsa
KODI_CONF_OPTS += -DENABLE_ALSA=OFF
endif
# quote from kodi/configure.in: "GLES overwrites GL if both set to yes."
# we choose the opposite because opengl offers more features, like libva support
# GL means X11, and under X11, Kodi needs libdrm; libdrm is forcefully selected
# by a modular Xorg server, which Kodi already depends on.
ifeq ($(BR2_PACKAGE_KODI_GL),y)
KODI_DEPENDENCIES += libglew libglu libgl xlib_libX11 xlib_libXext \
xlib_libXmu xlib_libXrandr xlib_libXt libdrm
KODI_CONF_OPTS += --enable-gl --enable-x11 --disable-gles
ifeq ($(BR2_PACKAGE_KODI_GL_EGL),y)
KODI_DEPENDENCIES += libegl libglu libgl xlib_libX11 xlib_libXext \
xlib_libXrandr libdrm
KODI_CONF_OPTS += -DENABLE_OPENGL=ON -DENABLE_X11=ON -DENABLE_OPENGLES=OFF
else
KODI_CONF_OPTS += --disable-gl --disable-x11
KODI_CONF_OPTS += -DENABLE_OPENGL=OFF -DENABLE_X11=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_EGL_GLES),y)
KODI_DEPENDENCIES += libegl libgles
KODI_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl`"
KODI_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl`"
KODI_CONF_OPTS += --enable-gles
KODI_CONF_OPTS += \
-DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl`" \
-DCMAKE_C_FLAGS="$(TARGET_CFLAGS) `$(PKG_CONFIG_HOST_BINARY) --cflags --libs egl`" \
-DENABLE_OPENGLES=ON
else
KODI_CONF_OPTS += --disable-gles
endif
endif
ifeq ($(BR2_PACKAGE_KODI_LIBUSB),y)
KODI_DEPENDENCIES += libusb-compat
KODI_CONF_OPTS += --enable-libusb
else
KODI_CONF_OPTS += --disable-libusb
KODI_CONF_OPTS += -DENABLE_OPENGLES=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_LIBMICROHTTPD),y)
KODI_CONF_OPTS += -DENABLE_MICROHTTPD=ON
KODI_DEPENDENCIES += libmicrohttpd
KODI_CONF_OPTS += --enable-webserver
else
KODI_CONF_OPTS += --disable-webserver
KODI_CONF_OPTS += -DENABLE_MICROHTTPD=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_LIBSMBCLIENT),y)
KODI_DEPENDENCIES += samba4
KODI_CONF_OPTS += --enable-samba
KODI_CONF_OPTS += -DENABLE_SMBCLIENT=ON
else
KODI_CONF_OPTS += --disable-samba
KODI_CONF_OPTS += -DENABLE_SMBCLIENT=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_LIBNFS),y)
KODI_DEPENDENCIES += libnfs
KODI_CONF_OPTS += --enable-nfs
KODI_CONF_OPTS += -DENABLE_NFS=ON
else
KODI_CONF_OPTS += --disable-nfs
endif
ifeq ($(BR2_PACKAGE_KODI_RTMPDUMP),y)
KODI_DEPENDENCIES += rtmpdump
KODI_CONF_OPTS += --enable-rtmp
else
KODI_CONF_OPTS += --disable-rtmp
KODI_CONF_OPTS += -DENABLE_NFS=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_LIBBLURAY),y)
KODI_DEPENDENCIES += libbluray
KODI_CONF_OPTS += --enable-libbluray
KODI_CONF_OPTS += -DENABLE_BLURAY=ON
else
KODI_CONF_OPTS += --disable-libbluray
KODI_CONF_OPTS += -DENABLE_BLURAY=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_LIBSHAIRPLAY),y)
KODI_DEPENDENCIES += libshairplay
KODI_CONF_OPTS += --enable-airplay
KODI_CONF_OPTS += -DENABLE_AIRTUNES=ON
else
KODI_CONF_OPTS += --disable-airplay
KODI_CONF_OPTS += -DENABLE_AIRTUNES=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_LIBSSH),y)
KODI_DEPENDENCIES += libssh
KODI_CONF_OPTS += --enable-ssh
KODI_CONF_OPTS += -DENABLE_SSH=ON
else
KODI_CONF_OPTS += --disable-ssh
KODI_CONF_OPTS += -DENABLE_SSH=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_AVAHI),y)
KODI_DEPENDENCIES += avahi
KODI_CONF_OPTS += --enable-avahi
KODI_CONF_OPTS += -DENABLE_AVAHI=ON
else
KODI_CONF_OPTS += --disable-avahi
KODI_CONF_OPTS += -DENABLE_AVAHI=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_LIBCEC),y)
KODI_DEPENDENCIES += libcec
KODI_CONF_OPTS += --enable-libcec
KODI_CONF_OPTS += -DENABLE_CEC=ON
else
KODI_CONF_OPTS += --disable-libcec
KODI_CONF_OPTS += -DENABLE_CEC=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_LIRC),y)
KODI_CONF_OPTS += --enable-lirc
KODI_CONF_OPTS += -DENABLE_LIRC=ON
else
KODI_CONF_OPTS += --disable-lirc
KODI_CONF_OPTS += -DENABLE_LIRC=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_LIBTHEORA),y)
@ -248,51 +284,41 @@ endif
# kodi needs libva & libva-glx
ifeq ($(BR2_PACKAGE_KODI_LIBVA)$(BR2_PACKAGE_MESA3D_DRI_DRIVER),yy)
KODI_DEPENDENCIES += mesa3d libva
KODI_CONF_OPTS += --enable-vaapi
KODI_CONF_OPTS += -DENABLE_VAAPI=ON
else
KODI_CONF_OPTS += --disable-vaapi
KODI_CONF_OPTS += -DENABLE_VAAPI=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_LIBVDPAU),y)
KODI_DEPENDENCIES += libvdpau
KODI_CONF_OPTS += --enable-vdpau
KODI_CONF_OPTS += -DENABLE_VDPAU=ON
else
KODI_CONF_OPTS += --disable-vdpau
KODI_CONF_OPTS += -DENABLE_VDPAU=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_UPNP),y)
KODI_CONF_OPTS += --enable-upnp
KODI_CONF_OPTS += -DENABLE_UPNP=ON
else
KODI_CONF_OPTS += --disable-upnp
KODI_CONF_OPTS += -DENABLE_UPNP=OFF
endif
ifeq ($(BR2_PACKAGE_KODI_OPTICALDRIVE),y)
KODI_CONF_OPTS += --enable-optical-drive --enable-dvdcss
KODI_CONF_OPTS += -DENABLE_OPTICAL=ON
else
KODI_CONF_OPTS += --disable-optical-drive --disable-dvdcss
KODI_CONF_OPTS += -DENABLE_OPTICAL=OFF
endif
# Add HOST_DIR to PATH for codegenerator.mk to find swig
define KODI_BOOTSTRAP
$(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D)/tools/depends/native/JsonSchemaBuilder
$(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D)/tools/depends/native/TexturePacker
cd $(@D) && PATH=$(BR_PATH) ./bootstrap
endef
KODI_PRE_CONFIGURE_HOOKS += KODI_BOOTSTRAP
# Remove versioncheck addon, updating Kodi is done by building a new
# buildroot image.
KODI_ADDON_MANIFEST = $(TARGET_DIR)/usr/share/kodi/system/addon-manifest.xml
define KODI_CLEAN_UNUSED_ADDONS
rm -Rf $(TARGET_DIR)/usr/share/kodi/addons/visualization.milkdrop
rm -Rf $(TARGET_DIR)/usr/share/kodi/addons/visualization.projectm
rm -Rf $(TARGET_DIR)/usr/share/kodi/addons/visualization.itunes
rm -Rf $(TARGET_DIR)/usr/share/kodi/addons/service.xbmc.versioncheck
$(HOST_DIR)/usr/bin/xml ed -L \
-d "/addons/addon[text()='service.xbmc.versioncheck']" \
$(KODI_ADDON_MANIFEST)
endef
KODI_POST_INSTALL_TARGET_HOOKS += KODI_CLEAN_UNUSED_ADDONS
define KODI_CLEAN_CONFLUENCE_SKIN
find $(TARGET_DIR)/usr/share/kodi/addons/skin.confluence/media -name *.png -delete
find $(TARGET_DIR)/usr/share/kodi/addons/skin.confluence/media -name *.jpg -delete
endef
KODI_POST_INSTALL_TARGET_HOOKS += KODI_CLEAN_CONFLUENCE_SKIN
define KODI_INSTALL_BR_WRAPPER
$(INSTALL) -D -m 0755 package/kodi/br-kodi \
$(TARGET_DIR)/usr/bin/br-kodi
@ -327,4 +353,4 @@ define KODI_INSTALL_INIT_SYSTEMD
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/kodi.service
endef
$(eval $(autotools-package))
$(eval $(cmake-package))