Merge pull request #498 from lrusak/odroid

Odroid c2 updates
This commit is contained in:
CvH 2016-07-02 10:06:58 +02:00 committed by GitHub
commit f7cc132e04
9 changed files with 136 additions and 2851 deletions

View File

@ -29,7 +29,7 @@ case $MESON_FAMILY in
PKG_VERSION="6-r5p1-01rel0-armhf" PKG_VERSION="6-r5p1-01rel0-armhf"
;; ;;
gxbb) gxbb)
PKG_VERSION="gxbb-r5p1-01rel0" PKG_VERSION="gxbb-r6p1-01rel0"
;; ;;
esac esac
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"

View File

@ -31,7 +31,7 @@ PKG_SHORTDESC="linux26: The Linux kernel 2.6 precompiled kernel binary image and
PKG_LONGDESC="This package contains a precompiled kernel image and the modules." PKG_LONGDESC="This package contains a precompiled kernel image and the modules."
case "$LINUX" in case "$LINUX" in
hardkernel) hardkernel)
PKG_VERSION="55d5417" PKG_VERSION="b8b59bb"
PKG_URL="https://github.com/hardkernel/linux/archive/$PKG_VERSION.tar.gz" PKG_URL="https://github.com/hardkernel/linux/archive/$PKG_VERSION.tar.gz"
;; ;;
amlogic) amlogic)

View File

@ -24,7 +24,7 @@ if [ "$UBOOT_VERSION" = "imx6-cuboxi" ]; then
# https://github.com/SolidRun/u-boot-imx6.git # https://github.com/SolidRun/u-boot-imx6.git
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz" PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
elif [ "$UBOOT_VERSION" = "hardkernel" ]; then elif [ "$UBOOT_VERSION" = "hardkernel" ]; then
PKG_VERSION="502b13b" PKG_VERSION="83bf8f0"
PKG_SITE="https://github.com/hardkernel/u-boot" PKG_SITE="https://github.com/hardkernel/u-boot"
PKG_URL="https://github.com/hardkernel/u-boot/archive/$PKG_VERSION.tar.gz" PKG_URL="https://github.com/hardkernel/u-boot/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET gcc-linaro-aarch64-none-elf:host" PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET gcc-linaro-aarch64-none-elf:host"

View File

@ -50,6 +50,10 @@ dd if=$SYSTEM_ROOT/usr/share/bootloader/bl1 of=$BOOT_DISK conv=fsync bs=1 count=
dd if=$SYSTEM_ROOT/usr/share/bootloader/bl1 of=$BOOT_DISK conv=fsync bs=512 seek=1 skip=1 dd if=$SYSTEM_ROOT/usr/share/bootloader/bl1 of=$BOOT_DISK conv=fsync bs=512 seek=1 skip=1
dd if=$SYSTEM_ROOT/usr/share/bootloader/u-boot of=$BOOT_DISK conv=fsync bs=512 seek=97 dd if=$SYSTEM_ROOT/usr/share/bootloader/u-boot of=$BOOT_DISK conv=fsync bs=512 seek=97
# monkey patch boot.ini for updated kernel
sed -i '/setenv bootcmd "${kernel}; ${dtb}; ${bootseq}"/i \setenv timer "fdt addr 0x1000000; fdt rm /timer"' /flash/boot.ini
sed -i 's|setenv bootcmd "${kernel}; ${dtb}; ${bootseq}"|setenv bootcmd "${kernel}; ${dtb}; ${timer}; ${bootseq}"|' /flash/boot.ini
# mount $BOOT_ROOT r/o # mount $BOOT_ROOT r/o
sync sync
mount -o remount,ro $BOOT_ROOT mount -o remount,ro $BOOT_ROOT

View File

@ -153,7 +153,8 @@ setenv odroid "${odroidp1} ${odroidp2}"
setenv kernel "fatload mmc 0:1 0x11000000 KERNEL" setenv kernel "fatload mmc 0:1 0x11000000 KERNEL"
setenv dtb "fatload mmc 0:1 0x1000000 meson64_odroidc2.dtb" setenv dtb "fatload mmc 0:1 0x1000000 meson64_odroidc2.dtb"
setenv bootseq "booti 0x11000000 - 0x1000000" setenv bootseq "booti 0x11000000 - 0x1000000"
setenv bootcmd "${kernel}; ${dtb}; ${bootseq}" setenv timer "fdt addr 0x1000000; fdt rm /timer"
setenv bootcmd "${kernel}; ${dtb}; ${timer}; ${bootseq}"
#------------------------------------------------------------------------------------------------------ #------------------------------------------------------------------------------------------------------
# #

View File

@ -1,6 +1,6 @@
# #
# Automatically generated file; DO NOT EDIT. # Automatically generated file; DO NOT EDIT.
# Linux/arm64 3.14.29 Kernel Configuration # Linux/arm64 3.14.65 Kernel Configuration
# #
CONFIG_ARM64=y CONFIG_ARM64=y
CONFIG_ARM64_HAS_SG_CHAIN=y CONFIG_ARM64_HAS_SG_CHAIN=y
@ -9,6 +9,7 @@ CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
CONFIG_MMU=y CONFIG_MMU=y
CONFIG_NO_IOPORT=y CONFIG_NO_IOPORT=y
CONFIG_STACKTRACE_SUPPORT=y CONFIG_STACKTRACE_SUPPORT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_LOCKDEP_SUPPORT=y CONFIG_LOCKDEP_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y CONFIG_RWSEM_GENERIC_SPINLOCK=y
@ -207,6 +208,7 @@ CONFIG_COMPAT_OLD_SIGACTION=y
# GCOV-based kernel profiling # GCOV-based kernel profiling
# #
# CONFIG_GCOV_KERNEL is not set # CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
CONFIG_HAVE_GENERIC_DMA_COHERENT=y CONFIG_HAVE_GENERIC_DMA_COHERENT=y
CONFIG_SLABINFO=y CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y CONFIG_RT_MUTEXES=y
@ -265,6 +267,11 @@ CONFIG_ARM_AMBA=y
# #
# Kernel Features # Kernel Features
# #
#
# ARM errata workarounds
#
# CONFIG_ARM64_ERRATUM_845719 is not set
# CONFIG_ARM64_64K_PAGES is not set # CONFIG_ARM64_64K_PAGES is not set
# CONFIG_CPU_BIG_ENDIAN is not set # CONFIG_CPU_BIG_ENDIAN is not set
CONFIG_SMP=y CONFIG_SMP=y
@ -331,6 +338,7 @@ CONFIG_CMDLINE_FROM_BOOTLOADER=y
# CONFIG_CMDLINE_EXTEND is not set # CONFIG_CMDLINE_EXTEND is not set
# CONFIG_CMDLINE_FORCE is not set # CONFIG_CMDLINE_FORCE is not set
# CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE is not set # CONFIG_BUILD_ARM64_APPENDED_DTB_IMAGE is not set
# CONFIG_EFI is not set
# #
# Userspace binary formats # Userspace binary formats
@ -409,6 +417,7 @@ CONFIG_ARM64_CPU_SUSPEND=y
# #
# CONFIG_CPU_IDLE is not set # CONFIG_CPU_IDLE is not set
# CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set # CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED is not set
# CONFIG_ARM64_ERRATUM_843419 is not set
CONFIG_NET=y CONFIG_NET=y
CONFIG_COMPAT_NETLINK_MESSAGES=y CONFIG_COMPAT_NETLINK_MESSAGES=y
@ -767,6 +776,10 @@ CONFIG_MAC80211_LEDS=y
# #
# Amlogic Device Drivers # Amlogic Device Drivers
# #
#
# AO CEC Support
#
CONFIG_AML_AO_CEC=y CONFIG_AML_AO_CEC=y
CONFIG_MESON_TIMER=y CONFIG_MESON_TIMER=y
CONFIG_AM_UART=y CONFIG_AM_UART=y
@ -1198,8 +1211,7 @@ CONFIG_OF=y
# #
# Device Tree and Open Firmware support # Device Tree and Open Firmware support
# #
CONFIG_PROC_DEVICETREE=y # CONFIG_OF_UNITTEST is not set
# CONFIG_OF_SELFTEST is not set
CONFIG_OF_FLATTREE=y CONFIG_OF_FLATTREE=y
CONFIG_OF_EARLY_FLATTREE=y CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_ADDRESS=y CONFIG_OF_ADDRESS=y
@ -2181,6 +2193,7 @@ CONFIG_IR_IGUANA=m
CONFIG_IR_TTUSBIR=m CONFIG_IR_TTUSBIR=m
# CONFIG_RC_LOOPBACK is not set # CONFIG_RC_LOOPBACK is not set
CONFIG_IR_GPIO_CIR=m CONFIG_IR_GPIO_CIR=m
CONFIG_IR_GPIOPLUG_CIR=m
CONFIG_MEDIA_USB_SUPPORT=y CONFIG_MEDIA_USB_SUPPORT=y
# #
@ -2496,9 +2509,11 @@ CONFIG_DVB_AF9033=m
# #
# Graphics support # Graphics support
# #
# CONFIG_DRM is not set CONFIG_DRM=y
# CONFIG_DRM_UDL is not set
# CONFIG_VGASTATE is not set # CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set # CONFIG_VIDEO_OUTPUT_CONTROL is not set
CONFIG_HDMI=y
CONFIG_VEXPRESS_DVI_CONTROL=y CONFIG_VEXPRESS_DVI_CONTROL=y
CONFIG_FB=y CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set # CONFIG_FIRMWARE_EDID is not set
@ -2573,20 +2588,20 @@ CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
# CONFIG_LOGO is not set # CONFIG_LOGO is not set
# CONFIG_FB_SSD1307 is not set # CONFIG_FB_SSD1307 is not set
#
# Mali GPU OpenGL device driver
#
CONFIG_MALI400=y CONFIG_MALI400=y
CONFIG_MALI450=y
# CONFIG_MALI470 is not set
# CONFIG_MALI400_DEBUG is not set # CONFIG_MALI400_DEBUG is not set
# CONFIG_MALI400_PROFILING is not set # CONFIG_MALI400_PROFILING is not set
# CONFIG_MALI400_UMP is not set CONFIG_MALI400_UMP=y
# CONFIG_MALI_DVFS is not set # CONFIG_MALI_DVFS is not set
CONFIG_MALI_DMA_BUF_MAP_ON_ATTACH=y CONFIG_MALI_DMA_BUF_MAP_ON_ATTACH=y
# CONFIG_MALI_SHARED_INTERRUPTS is not set # CONFIG_MALI_SHARED_INTERRUPTS is not set
# CONFIG_MALI_PMU_PARALLEL_POWER_UP is not set # CONFIG_MALI_PMU_PARALLEL_POWER_UP is not set
# CONFIG_MALI_DT is not set CONFIG_MALI_DT=y
# CONFIG_MALI_QUIET is not set # CONFIG_MALI_QUIET is not set
CONFIG_UMP=y
# CONFIG_UMP_DEBUG is not set
CONFIG_SOUND=y CONFIG_SOUND=y
# CONFIG_SOUND_OSS_CORE is not set # CONFIG_SOUND_OSS_CORE is not set
CONFIG_SND=y CONFIG_SND=y
@ -3247,6 +3262,11 @@ CONFIG_RESET_CONTROLLER=y
# CONFIG_PHY_EXYNOS_DP_VIDEO is not set # CONFIG_PHY_EXYNOS_DP_VIDEO is not set
# CONFIG_POWERCAP is not set # CONFIG_POWERCAP is not set
#
# Firmware Drivers
#
# CONFIG_FIRMWARE_MEMMAP is not set
# #
# File systems # File systems
# #
@ -3290,7 +3310,7 @@ CONFIG_QUOTACTL=y
CONFIG_AUTOFS4_FS=m CONFIG_AUTOFS4_FS=m
CONFIG_FUSE_FS=m CONFIG_FUSE_FS=m
# CONFIG_CUSE is not set # CONFIG_CUSE is not set
CONFIG_OVERLAYFS_FS=y # CONFIG_OVERLAY_FS is not set
# #
# Caches # Caches

View File

@ -1,10 +1,10 @@
From 7433b6824809ece337a4e8060db409558edd3074 Mon Sep 17 00:00:00 2001 From aeef849a8f4307cd1792600602ec8e3d47a7b52e Mon Sep 17 00:00:00 2001
From: Owersun <owersun@gmail.com> From: Owersun <owersun@gmail.com>
Date: Sat, 23 Apr 2016 22:34:30 +0200 Date: Sat, 23 Apr 2016 22:34:30 +0200
Subject: [PATCH] Odroids: All the codecs and display drivers Subject: [PATCH 1/2] Odroids: All the codecs and display drivers
--- ---
configure.ac | 49 +- configure.ac | 41 +-
m4/xbmc_arch.m4 | 6 + m4/xbmc_arch.m4 | 6 +
xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 39 +- xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp | 39 +-
.../VideoPlayer/DVDCodecs/DVDFactoryCodec.cpp | 5 + .../VideoPlayer/DVDCodecs/DVDFactoryCodec.cpp | 5 +
@ -18,7 +18,7 @@ Subject: [PATCH] Odroids: All the codecs and display drivers
xbmc/utils/AMLUtils.cpp | 93 +++- xbmc/utils/AMLUtils.cpp | 93 +++-
xbmc/utils/CPUInfo.cpp | 25 +- xbmc/utils/CPUInfo.cpp | 25 +-
xbmc/windowing/X11/WinSystemX11.cpp | 2 +- xbmc/windowing/X11/WinSystemX11.cpp | 2 +-
xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp | 97 +++- xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp | 98 +++-
xbmc/windowing/egl/EGLNativeTypeAmlogic.h | 19 +- xbmc/windowing/egl/EGLNativeTypeAmlogic.h | 19 +-
xbmc/windowing/egl/EGLNativeTypeFbdev.cpp | 183 +++++++ xbmc/windowing/egl/EGLNativeTypeFbdev.cpp | 183 +++++++
xbmc/windowing/egl/EGLNativeTypeFbdev.h | 68 +++ xbmc/windowing/egl/EGLNativeTypeFbdev.h | 68 +++
@ -26,7 +26,7 @@ Subject: [PATCH] Odroids: All the codecs and display drivers
xbmc/windowing/egl/EGLNativeTypeHybris.h | 77 +++ xbmc/windowing/egl/EGLNativeTypeHybris.h | 77 +++
xbmc/windowing/egl/EGLWrapper.cpp | 14 +- xbmc/windowing/egl/EGLWrapper.cpp | 14 +-
xbmc/windowing/egl/Makefile.in | 4 + xbmc/windowing/egl/Makefile.in | 4 +
22 files changed, 1940 insertions(+), 75 deletions(-) 22 files changed, 1933 insertions(+), 75 deletions(-)
create mode 100644 xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecMFC.cpp create mode 100644 xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecMFC.cpp
create mode 100644 xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecMFC.h create mode 100644 xbmc/cores/VideoPlayer/DVDCodecs/Video/DVDVideoCodecMFC.h
create mode 100644 xbmc/linux/LinuxV4l2Sink.cpp create mode 100644 xbmc/linux/LinuxV4l2Sink.cpp
@ -37,10 +37,10 @@ Subject: [PATCH] Odroids: All the codecs and display drivers
create mode 100644 xbmc/windowing/egl/EGLNativeTypeHybris.h create mode 100644 xbmc/windowing/egl/EGLNativeTypeHybris.h
diff --git a/configure.ac b/configure.ac diff --git a/configure.ac b/configure.ac
index 75cfc57..b3f2097 100644 index 8cc0ba8..6a727bd 100644
--- a/configure.ac --- a/configure.ac
+++ b/configure.ac +++ b/configure.ac
@@ -215,6 +215,10 @@ libbluetooth_enabled="== libbluetooth enabled. ==" @@ -213,6 +213,10 @@ libbluetooth_enabled="== libbluetooth enabled. =="
libbluetooth_disabled="== libbluetooth disabled. Bluetooth support will not be available. ==" libbluetooth_disabled="== libbluetooth disabled. Bluetooth support will not be available. =="
@ -51,7 +51,7 @@ index 75cfc57..b3f2097 100644
AC_ARG_WITH([ffmpeg], AC_ARG_WITH([ffmpeg],
[AS_HELP_STRING([--with-ffmpeg], [AS_HELP_STRING([--with-ffmpeg],
[ffmpeg options: auto (search pkg-config or auto build), force (always build ffmpeg), shared (link dynamically), path_to_ffmpeg [default=force]])], [ffmpeg options: auto (search pkg-config or auto build), force (always build ffmpeg), shared (link dynamically), path_to_ffmpeg [default=force]])],
@@ -476,7 +480,7 @@ AC_ARG_ENABLE([breakpad], @@ -474,7 +478,7 @@ AC_ARG_ENABLE([breakpad],
AC_ARG_ENABLE([codec], AC_ARG_ENABLE([codec],
[AS_HELP_STRING([--enable-codec], [AS_HELP_STRING([--enable-codec],
@ -60,7 +60,7 @@ index 75cfc57..b3f2097 100644
[add_codecs=$enableval], [add_codecs=$enableval],
[add_codecs=no]) [add_codecs=no])
@@ -487,6 +491,13 @@ AC_ARG_ENABLE([libav-compat], @@ -485,6 +489,13 @@ AC_ARG_ENABLE([libav-compat],
[use_libav_hacks=$enableval], [use_libav_hacks=$enableval],
[use_libav_hacks=no]) [use_libav_hacks=no])
@ -74,22 +74,7 @@ index 75cfc57..b3f2097 100644
### End of external library options ### End of external library options
if test "x$host_vendor" != "xapple"; then if test "x$host_vendor" != "xapple"; then
@@ -622,6 +633,14 @@ case $host in @@ -1480,6 +1491,23 @@ else
use_gl=no
USE_STATIC_FFMPEG=1
;;
+ aarch64-*-linux-gnu*)
+ target_platform=target_linux
+ ARCH="arm64"
+ use_arch="aarch64"
+ use_joystick=no
+ use_gles=yes
+ use_gl=no
+ ;;
arm*-*linux-android*)
target_platform=target_android
CORE_SYSTEM_NAME=android
@@ -1485,6 +1504,23 @@ else
AC_MSG_NOTICE($libcap_disabled) AC_MSG_NOTICE($libcap_disabled)
fi fi
@ -113,7 +98,7 @@ index 75cfc57..b3f2097 100644
# FFmpeg # FFmpeg
FFMPEG_LIBNAMES="libavcodec >= 56.26.100 FFMPEG_LIBNAMES="libavcodec >= 56.26.100
libavfilter >= 5.11.102 libavfilter >= 5.11.102
@@ -1707,6 +1743,9 @@ esac @@ -1701,6 +1729,9 @@ esac
# remember to convert commas to spaces # remember to convert commas to spaces
for codecs in `echo $add_codecs | sed 's/,/ /g'`; do for codecs in `echo $add_codecs | sed 's/,/ /g'`; do
case $codecs in case $codecs in
@ -123,7 +108,7 @@ index 75cfc57..b3f2097 100644
*amcodec*) *amcodec*)
AC_CHECK_HEADER([amcodec/codec_error.h],, AC_MSG_ERROR($missing_headers)) AC_CHECK_HEADER([amcodec/codec_error.h],, AC_MSG_ERROR($missing_headers))
XB_ADD_CODEC([LIBAMCODEC], [amcodec], [$codecs]) XB_ADD_CODEC([LIBAMCODEC], [amcodec], [$codecs])
@@ -2104,6 +2143,13 @@ else @@ -2098,6 +2129,13 @@ else
final_message="$final_message\n additional codecs:\tNo" final_message="$final_message\n additional codecs:\tNo"
fi fi
@ -137,7 +122,7 @@ index 75cfc57..b3f2097 100644
### External libraries messages ### External libraries messages
if test "$host_vendor" = "apple" ; then if test "$host_vendor" = "apple" ; then
@@ -2298,6 +2344,7 @@ AC_SUBST(USE_MMAL) @@ -2290,6 +2328,7 @@ AC_SUBST(USE_MMAL)
AC_SUBST(USE_X11) AC_SUBST(USE_X11)
AC_SUBST(USE_OPTICAL_DRIVE) AC_SUBST(USE_OPTICAL_DRIVE)
AC_SUBST(USE_BREAKPAD) AC_SUBST(USE_BREAKPAD)
@ -146,7 +131,7 @@ index 75cfc57..b3f2097 100644
# pushd and popd are not available in other shells besides bash, so implement # pushd and popd are not available in other shells besides bash, so implement
diff --git a/m4/xbmc_arch.m4 b/m4/xbmc_arch.m4 diff --git a/m4/xbmc_arch.m4 b/m4/xbmc_arch.m4
index fddae99..9456f9d 100644 index d28f263..07f1770 100644
--- a/m4/xbmc_arch.m4 --- a/m4/xbmc_arch.m4
+++ b/m4/xbmc_arch.m4 +++ b/m4/xbmc_arch.m4
@@ -26,6 +26,9 @@ case $build in @@ -26,6 +26,9 @@ case $build in
@ -160,7 +145,7 @@ index fddae99..9456f9d 100644
AC_MSG_ERROR(unsupported native build platform: $build) AC_MSG_ERROR(unsupported native build platform: $build)
esac esac
@@ -63,6 +66,9 @@ case $host in @@ -63,6 +66,9 @@ case $host in
arm*-*-linux-gnu*|arm*-*-linux-uclibc*) arm*-*-linux-gnu*|arm*-*-linux-uclibc*|aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*)
AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX") AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
;; ;;
+ aarch64-*-linux-gnu*) + aarch64-*-linux-gnu*)
@ -170,7 +155,7 @@ index fddae99..9456f9d 100644
AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX") AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
;; ;;
diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp diff --git a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
index 95db8cf..420a6d3 100644 index 6a9066b..30653a3 100644
--- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp --- a/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
+++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp +++ b/xbmc/cores/AudioEngine/Sinks/AESinkALSA.cpp
@@ -490,6 +490,7 @@ snd_pcm_chmap_t* CAESinkALSA::SelectALSAChannelMap(const CAEChannelInfo& info) @@ -490,6 +490,7 @@ snd_pcm_chmap_t* CAESinkALSA::SelectALSAChannelMap(const CAEChannelInfo& info)
@ -287,7 +272,7 @@ index 95db8cf..420a6d3 100644
* handles * handles
*/ */
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/DVDFactoryCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/DVDFactoryCodec.cpp diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/DVDFactoryCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/DVDFactoryCodec.cpp
index 5206cfa..c73457b 100644 index bb5bfe0..9351b3e 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/DVDFactoryCodec.cpp --- a/xbmc/cores/VideoPlayer/DVDCodecs/DVDFactoryCodec.cpp
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/DVDFactoryCodec.cpp +++ b/xbmc/cores/VideoPlayer/DVDCodecs/DVDFactoryCodec.cpp
@@ -41,6 +41,9 @@ @@ -41,6 +41,9 @@
@ -300,7 +285,7 @@ index 5206cfa..c73457b 100644
#include "Audio/DVDAudioCodecFFmpeg.h" #include "Audio/DVDAudioCodecFFmpeg.h"
#include "Audio/DVDAudioCodecPassthrough.h" #include "Audio/DVDAudioCodecPassthrough.h"
#include "Overlay/DVDOverlayCodecSSA.h" #include "Overlay/DVDOverlayCodecSSA.h"
@@ -152,6 +155,8 @@ CDVDVideoCodec* CDVDFactoryCodec::CreateVideoCodec(CDVDStreamInfo &hint, CProces @@ -149,6 +152,8 @@ CDVDVideoCodec* CDVDFactoryCodec::CreateVideoCodec(CDVDStreamInfo &hint, CProces
pCodec = OpenCodec(new CDVDVideoCodecOpenMax(processInfo), hint, options); pCodec = OpenCodec(new CDVDVideoCodecOpenMax(processInfo), hint, options);
#elif defined(HAS_MMAL) #elif defined(HAS_MMAL)
pCodec = OpenCodec(new CMMALVideo(processInfo), hint, options); pCodec = OpenCodec(new CMMALVideo(processInfo), hint, options);
@ -310,10 +295,10 @@ index 5206cfa..c73457b 100644
if (pCodec) if (pCodec)
return pCodec; return pCodec;
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
index 0a97893..f4c4bc5 100644 index aa30474..bfc862e 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp --- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp +++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/AMLCodec.cpp
@@ -361,7 +361,7 @@ void dumpfile_write(am_private_t *para, void* buf, int bufsiz) @@ -398,18 +398,19 @@ void dumpfile_write(am_private_t *para, void* buf, int bufsiz)
} }
if (para->dumpdemux && para->dumpfile != -1) if (para->dumpdemux && para->dumpfile != -1)
@ -321,9 +306,6 @@ index 0a97893..f4c4bc5 100644
+ int ret = write(para->dumpfile, buf, bufsiz); + int ret = write(para->dumpfile, buf, bufsiz);
} }
/*************************************************************************/
@@ -387,13 +387,14 @@ static int64_t get_pts_video()
static int set_pts_pcrscr(int64_t value) static int set_pts_pcrscr(int64_t value)
{ {
+ int ret; + int ret;
@ -338,7 +320,7 @@ index 0a97893..f4c4bc5 100644
close(fd); close(fd);
return 0; return 0;
} }
@@ -714,7 +715,7 @@ int write_av_packet(am_private_t *para, am_packet_t *pkt) @@ -730,7 +731,7 @@ int write_av_packet(am_private_t *para, am_packet_t *pkt)
} }
pkt->newflag = 0; pkt->newflag = 0;
} }
@ -347,7 +329,7 @@ index 0a97893..f4c4bc5 100644
buf = pkt->data; buf = pkt->data;
size = pkt->data_size ; size = pkt->data_size ;
if (size == 0 && pkt->isvalid) { if (size == 0 && pkt->isvalid) {
@@ -1566,7 +1567,7 @@ bool CAMLCodec::OpenDecoder(CDVDStreamInfo &hints) @@ -1580,7 +1581,7 @@ bool CAMLCodec::OpenDecoder(CDVDStreamInfo &hints)
// h264 in an avi file // h264 in an avi file
if (m_hints.ptsinvalid) if (m_hints.ptsinvalid)
am_private->gcodec.param = (void*)(EXTERNAL_PTS | SYNC_OUTSIDE); am_private->gcodec.param = (void*)(EXTERNAL_PTS | SYNC_OUTSIDE);
@ -356,7 +338,7 @@ index 0a97893..f4c4bc5 100644
case VFORMAT_REAL: case VFORMAT_REAL:
am_private->stream_type = AM_STREAM_RM; am_private->stream_type = AM_STREAM_RM;
am_private->vcodec.noblock = 1; am_private->vcodec.noblock = 1;
@@ -1631,7 +1632,7 @@ bool CAMLCodec::OpenDecoder(CDVDStreamInfo &hints) @@ -1645,7 +1646,7 @@ bool CAMLCodec::OpenDecoder(CDVDStreamInfo &hints)
Create(); Create();
@ -365,7 +347,7 @@ index 0a97893..f4c4bc5 100644
std::string strScaler; std::string strScaler;
SysfsUtils::GetString("/sys/class/ppmgr/ppscaler", strScaler); SysfsUtils::GetString("/sys/class/ppmgr/ppscaler", strScaler);
@@ -2112,7 +2113,6 @@ void CAMLCodec::SetVideoRect(const CRect &SrcRect, const CRect &DestRect) @@ -2187,7 +2188,6 @@ void CAMLCodec::SetVideoRect(const CRect &SrcRect, const CRect &DestRect)
int diff = (int) ((dst_rect.Height() - dst_rect.Width()) / 2); int diff = (int) ((dst_rect.Height() - dst_rect.Width()) / 2);
dst_rect = CRect(DestRect.x1 - diff, DestRect.y1, DestRect.x2 + diff, DestRect.y2); dst_rect = CRect(DestRect.x1 - diff, DestRect.y1, DestRect.x2 + diff, DestRect.y2);
} }
@ -373,7 +355,7 @@ index 0a97893..f4c4bc5 100644
} }
if (m_dst_rect != dst_rect) if (m_dst_rect != dst_rect)
@@ -2134,7 +2134,7 @@ void CAMLCodec::SetVideoRect(const CRect &SrcRect, const CRect &DestRect) @@ -2209,7 +2209,7 @@ void CAMLCodec::SetVideoRect(const CRect &SrcRect, const CRect &DestRect)
#ifdef TARGET_ANDROID #ifdef TARGET_ANDROID
display = m_display_rect; display = m_display_rect;
#else #else
@ -382,7 +364,7 @@ index 0a97893..f4c4bc5 100644
#endif #endif
if (gui != display) if (gui != display)
{ {
@@ -2206,6 +2206,8 @@ void CAMLCodec::SetVideoRect(const CRect &SrcRect, const CRect &DestRect) @@ -2281,6 +2281,8 @@ void CAMLCodec::SetVideoRect(const CRect &SrcRect, const CRect &DestRect)
std::string s_gui = StringUtils::Format("%i,%i,%i,%i", std::string s_gui = StringUtils::Format("%i,%i,%i,%i",
(int)gui.x1, (int)gui.y1, (int)gui.x1, (int)gui.y1,
(int)gui.Width(), (int)gui.Height()); (int)gui.Width(), (int)gui.Height());
@ -1053,7 +1035,7 @@ index 0000000..679cf8c
+ bool OpenDevices(); + bool OpenDevices();
+}; +};
diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/Makefile.in b/xbmc/cores/VideoPlayer/DVDCodecs/Video/Makefile.in diff --git a/xbmc/cores/VideoPlayer/DVDCodecs/Video/Makefile.in b/xbmc/cores/VideoPlayer/DVDCodecs/Video/Makefile.in
index 1bf5a89..46f7cc9 100644 index 62d44ce..99a5556 100644
--- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/Makefile.in --- a/xbmc/cores/VideoPlayer/DVDCodecs/Video/Makefile.in
+++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/Makefile.in +++ b/xbmc/cores/VideoPlayer/DVDCodecs/Video/Makefile.in
@@ -34,8 +34,11 @@ ifeq (@USE_MMAL@,1) @@ -34,8 +34,11 @@ ifeq (@USE_MMAL@,1)
@ -1476,7 +1458,7 @@ index 0cf90d1..ff2c2dc 100644
SRCS += RBP.cpp SRCS += RBP.cpp
diff --git a/xbmc/utils/AMLUtils.cpp b/xbmc/utils/AMLUtils.cpp diff --git a/xbmc/utils/AMLUtils.cpp b/xbmc/utils/AMLUtils.cpp
index 5915e61..5392658 100644 index 4ae45f3..f4911119 100644
--- a/xbmc/utils/AMLUtils.cpp --- a/xbmc/utils/AMLUtils.cpp
+++ b/xbmc/utils/AMLUtils.cpp +++ b/xbmc/utils/AMLUtils.cpp
@@ -79,7 +79,7 @@ bool aml_wired_present() @@ -79,7 +79,7 @@ bool aml_wired_present()
@ -1488,7 +1470,7 @@ index 5915e61..5392658 100644
if (!aml_present()) if (!aml_present())
return false; return false;
@@ -195,7 +195,8 @@ bool aml_support_h264_4k2k() @@ -210,7 +210,8 @@ bool aml_support_h264_4k2k()
void aml_set_audio_passthrough(bool passthrough) void aml_set_audio_passthrough(bool passthrough)
{ {
@ -1498,7 +1480,7 @@ index 5915e61..5392658 100644
} }
void aml_probe_hdmi_audio() void aml_probe_hdmi_audio()
@@ -213,7 +214,7 @@ void aml_probe_hdmi_audio() @@ -228,7 +229,7 @@ void aml_probe_hdmi_audio()
{ {
char valstr[1024] = {0}; char valstr[1024] = {0};
@ -1507,7 +1489,7 @@ index 5915e61..5392658 100644
valstr[strlen(valstr)] = '\0'; valstr[strlen(valstr)] = '\0';
close(fd); close(fd);
@@ -348,6 +349,60 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res) @@ -363,6 +364,60 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res)
res->fRefreshRate = 50; res->fRefreshRate = 50;
res->dwFlags = D3DPRESENTFLAG_PROGRESSIVE; res->dwFlags = D3DPRESENTFLAG_PROGRESSIVE;
} }
@ -1568,7 +1550,7 @@ index 5915e61..5392658 100644
else if (StringUtils::EqualsNoCase(fromMode, "720p") || StringUtils::EqualsNoCase(fromMode, "720p60hz")) else if (StringUtils::EqualsNoCase(fromMode, "720p") || StringUtils::EqualsNoCase(fromMode, "720p60hz"))
{ {
res->iWidth = 1280; res->iWidth = 1280;
@@ -393,6 +448,24 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res) @@ -408,6 +463,24 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res)
res->fRefreshRate = 24; res->fRefreshRate = 24;
res->dwFlags = D3DPRESENTFLAG_PROGRESSIVE; res->dwFlags = D3DPRESENTFLAG_PROGRESSIVE;
} }
@ -1593,7 +1575,7 @@ index 5915e61..5392658 100644
else if (StringUtils::EqualsNoCase(fromMode, "1080p30hz")) else if (StringUtils::EqualsNoCase(fromMode, "1080p30hz"))
{ {
res->iWidth = 1920; res->iWidth = 1920;
@@ -501,7 +574,7 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res) @@ -516,7 +589,7 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res)
res->fRefreshRate = 30; res->fRefreshRate = 30;
res->dwFlags = D3DPRESENTFLAG_PROGRESSIVE; res->dwFlags = D3DPRESENTFLAG_PROGRESSIVE;
} }
@ -1602,7 +1584,7 @@ index 5915e61..5392658 100644
{ {
res->iWidth = 1920; res->iWidth = 1920;
res->iHeight= 1080; res->iHeight= 1080;
@@ -510,7 +583,16 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res) @@ -525,7 +598,16 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res)
res->fRefreshRate = 50; res->fRefreshRate = 50;
res->dwFlags = D3DPRESENTFLAG_PROGRESSIVE; res->dwFlags = D3DPRESENTFLAG_PROGRESSIVE;
} }
@ -1620,7 +1602,7 @@ index 5915e61..5392658 100644
{ {
res->iWidth = 1920; res->iWidth = 1920;
res->iHeight= 1080; res->iHeight= 1080;
@@ -535,4 +617,3 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res) @@ -550,4 +632,3 @@ bool aml_mode_to_resolution(const char *mode, RESOLUTION_INFO *res)
return res->iWidth > 0 && res->iHeight> 0; return res->iWidth > 0 && res->iHeight> 0;
} }
@ -1738,7 +1720,7 @@ index ee85585..7261f78 100644
if (!currmode.name.empty()) if (!currmode.name.empty())
{ {
diff --git a/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp b/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp diff --git a/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp b/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp
index 3d6598a..cc62734 100644 index 88cd385..cc62734 100644
--- a/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp --- a/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp
+++ b/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp +++ b/xbmc/windowing/egl/EGLNativeTypeAmlogic.cpp
@@ -23,13 +23,18 @@ @@ -23,13 +23,18 @@
@ -1761,7 +1743,7 @@ index 3d6598a..cc62734 100644
CEGLNativeTypeAmlogic::CEGLNativeTypeAmlogic() CEGLNativeTypeAmlogic::CEGLNativeTypeAmlogic()
{ {
const char *env_framebuffer = getenv("FRAMEBUFFER"); const char *env_framebuffer = getenv("FRAMEBUFFER");
@@ -53,10 +58,12 @@ bool CEGLNativeTypeAmlogic::CheckCompatibility() @@ -53,9 +58,12 @@ bool CEGLNativeTypeAmlogic::CheckCompatibility()
{ {
std::string name; std::string name;
std::string modalias = "/sys/class/graphics/" + m_framebuffer_name + "/device/modalias"; std::string modalias = "/sys/class/graphics/" + m_framebuffer_name + "/device/modalias";
@ -1769,13 +1751,13 @@ index 3d6598a..cc62734 100644
+ std::string fb = "fb"; + std::string fb = "fb";
SysfsUtils::GetString(modalias, name); SysfsUtils::GetString(modalias, name);
StringUtils::Trim(name); - if (name.find("meson") != std::string::npos)
- if (name == "platform:mesonfb") + StringUtils::Trim(name);
+ if (name.find(meson) != std::string::npos && name.find(fb) != std::string::npos) + if (name.find(meson) != std::string::npos && name.find(fb) != std::string::npos)
return true; return true;
return false; return false;
} }
@@ -64,28 +71,37 @@ bool CEGLNativeTypeAmlogic::CheckCompatibility() @@ -63,28 +71,37 @@ bool CEGLNativeTypeAmlogic::CheckCompatibility()
void CEGLNativeTypeAmlogic::Initialize() void CEGLNativeTypeAmlogic::Initialize()
{ {
aml_permissions(); aml_permissions();
@ -1816,7 +1798,7 @@ index 3d6598a..cc62734 100644
m_nativeWindow = nativeWindow; m_nativeWindow = nativeWindow;
SetFramebufferResolution(nativeWindow->width, nativeWindow->height); SetFramebufferResolution(nativeWindow->width, nativeWindow->height);
@@ -98,6 +114,8 @@ bool CEGLNativeTypeAmlogic::CreateNativeWindow() @@ -97,6 +114,8 @@ bool CEGLNativeTypeAmlogic::CreateNativeWindow()
bool CEGLNativeTypeAmlogic::GetNativeDisplay(XBNativeDisplayType **nativeDisplay) const bool CEGLNativeTypeAmlogic::GetNativeDisplay(XBNativeDisplayType **nativeDisplay) const
{ {
@ -1825,7 +1807,7 @@ index 3d6598a..cc62734 100644
if (!nativeDisplay) if (!nativeDisplay)
return false; return false;
*nativeDisplay = (XBNativeDisplayType*) &m_nativeDisplay; *nativeDisplay = (XBNativeDisplayType*) &m_nativeDisplay;
@@ -106,6 +124,8 @@ bool CEGLNativeTypeAmlogic::GetNativeDisplay(XBNativeDisplayType **nativeDisplay @@ -105,6 +124,8 @@ bool CEGLNativeTypeAmlogic::GetNativeDisplay(XBNativeDisplayType **nativeDisplay
bool CEGLNativeTypeAmlogic::GetNativeWindow(XBNativeWindowType **nativeWindow) const bool CEGLNativeTypeAmlogic::GetNativeWindow(XBNativeWindowType **nativeWindow) const
{ {
@ -1834,7 +1816,7 @@ index 3d6598a..cc62734 100644
if (!nativeWindow) if (!nativeWindow)
return false; return false;
*nativeWindow = (XBNativeWindowType*) &m_nativeWindow; *nativeWindow = (XBNativeWindowType*) &m_nativeWindow;
@@ -114,11 +134,15 @@ bool CEGLNativeTypeAmlogic::GetNativeWindow(XBNativeWindowType **nativeWindow) c @@ -113,11 +134,15 @@ bool CEGLNativeTypeAmlogic::GetNativeWindow(XBNativeWindowType **nativeWindow) c
bool CEGLNativeTypeAmlogic::DestroyNativeDisplay() bool CEGLNativeTypeAmlogic::DestroyNativeDisplay()
{ {
@ -1850,7 +1832,7 @@ index 3d6598a..cc62734 100644
#if defined(_FBDEV_WINDOW_H_) #if defined(_FBDEV_WINDOW_H_)
delete (fbdev_window*)m_nativeWindow, m_nativeWindow = NULL; delete (fbdev_window*)m_nativeWindow, m_nativeWindow = NULL;
#endif #endif
@@ -134,6 +158,8 @@ bool CEGLNativeTypeAmlogic::GetNativeResolution(RESOLUTION_INFO *res) const @@ -133,6 +158,8 @@ bool CEGLNativeTypeAmlogic::GetNativeResolution(RESOLUTION_INFO *res) const
bool CEGLNativeTypeAmlogic::SetNativeResolution(const RESOLUTION_INFO &res) bool CEGLNativeTypeAmlogic::SetNativeResolution(const RESOLUTION_INFO &res)
{ {
@ -1859,7 +1841,7 @@ index 3d6598a..cc62734 100644
#if defined(_FBDEV_WINDOW_H_) #if defined(_FBDEV_WINDOW_H_)
if (m_nativeWindow) if (m_nativeWindow)
{ {
@@ -153,6 +179,8 @@ bool CEGLNativeTypeAmlogic::SetNativeResolution(const RESOLUTION_INFO &res) @@ -152,6 +179,8 @@ bool CEGLNativeTypeAmlogic::SetNativeResolution(const RESOLUTION_INFO &res)
bool CEGLNativeTypeAmlogic::ProbeResolutions(std::vector<RESOLUTION_INFO> &resolutions) bool CEGLNativeTypeAmlogic::ProbeResolutions(std::vector<RESOLUTION_INFO> &resolutions)
{ {
@ -1868,7 +1850,7 @@ index 3d6598a..cc62734 100644
std::string valstr; std::string valstr;
SysfsUtils::GetString("/sys/class/amhdmitx/amhdmitx0/disp_cap", valstr); SysfsUtils::GetString("/sys/class/amhdmitx/amhdmitx0/disp_cap", valstr);
std::vector<std::string> probe_str = StringUtils::Split(valstr, "\n"); std::vector<std::string> probe_str = StringUtils::Split(valstr, "\n");
@@ -165,11 +193,12 @@ bool CEGLNativeTypeAmlogic::ProbeResolutions(std::vector<RESOLUTION_INFO> &resol @@ -164,11 +193,12 @@ bool CEGLNativeTypeAmlogic::ProbeResolutions(std::vector<RESOLUTION_INFO> &resol
resolutions.push_back(res); resolutions.push_back(res);
} }
return resolutions.size() > 0; return resolutions.size() > 0;
@ -1882,7 +1864,7 @@ index 3d6598a..cc62734 100644
// check display/mode, it gets defaulted at boot // check display/mode, it gets defaulted at boot
if (!GetNativeResolution(res)) if (!GetNativeResolution(res))
{ {
@@ -182,6 +211,8 @@ bool CEGLNativeTypeAmlogic::GetPreferredResolution(RESOLUTION_INFO *res) const @@ -181,6 +211,8 @@ bool CEGLNativeTypeAmlogic::GetPreferredResolution(RESOLUTION_INFO *res) const
bool CEGLNativeTypeAmlogic::ShowWindow(bool show) bool CEGLNativeTypeAmlogic::ShowWindow(bool show)
{ {
@ -1891,7 +1873,7 @@ index 3d6598a..cc62734 100644
std::string blank_framebuffer = "/sys/class/graphics/" + m_framebuffer_name + "/blank"; std::string blank_framebuffer = "/sys/class/graphics/" + m_framebuffer_name + "/blank";
SysfsUtils::SetInt(blank_framebuffer.c_str(), show ? 0 : 1); SysfsUtils::SetInt(blank_framebuffer.c_str(), show ? 0 : 1);
return true; return true;
@@ -189,6 +220,8 @@ bool CEGLNativeTypeAmlogic::ShowWindow(bool show) @@ -188,6 +220,8 @@ bool CEGLNativeTypeAmlogic::ShowWindow(bool show)
bool CEGLNativeTypeAmlogic::SetDisplayResolution(const char *resolution) bool CEGLNativeTypeAmlogic::SetDisplayResolution(const char *resolution)
{ {
@ -1900,7 +1882,7 @@ index 3d6598a..cc62734 100644
std::string mode = resolution; std::string mode = resolution;
// switch display resolution // switch display resolution
SysfsUtils::SetString("/sys/class/display/mode", mode.c_str()); SysfsUtils::SetString("/sys/class/display/mode", mode.c_str());
@@ -196,36 +229,46 @@ bool CEGLNativeTypeAmlogic::SetDisplayResolution(const char *resolution) @@ -195,36 +229,46 @@ bool CEGLNativeTypeAmlogic::SetDisplayResolution(const char *resolution)
RESOLUTION_INFO res; RESOLUTION_INFO res;
aml_mode_to_resolution(mode.c_str(), &res); aml_mode_to_resolution(mode.c_str(), &res);
SetFramebufferResolution(res); SetFramebufferResolution(res);
@ -1966,7 +1948,7 @@ index 3d6598a..cc62734 100644
} }
void CEGLNativeTypeAmlogic::SetFramebufferResolution(const RESOLUTION_INFO &res) const void CEGLNativeTypeAmlogic::SetFramebufferResolution(const RESOLUTION_INFO &res) const
@@ -245,8 +288,8 @@ void CEGLNativeTypeAmlogic::SetFramebufferResolution(int width, int height) cons @@ -244,8 +288,8 @@ void CEGLNativeTypeAmlogic::SetFramebufferResolution(int width, int height) cons
{ {
vinfo.xres = width; vinfo.xres = width;
vinfo.yres = height; vinfo.yres = height;
@ -1978,11 +1960,11 @@ index 3d6598a..cc62734 100644
vinfo.activate = FB_ACTIVATE_ALL; vinfo.activate = FB_ACTIVATE_ALL;
ioctl(fd0, FBIOPUT_VSCREENINFO, &vinfo); ioctl(fd0, FBIOPUT_VSCREENINFO, &vinfo);
diff --git a/xbmc/windowing/egl/EGLNativeTypeAmlogic.h b/xbmc/windowing/egl/EGLNativeTypeAmlogic.h diff --git a/xbmc/windowing/egl/EGLNativeTypeAmlogic.h b/xbmc/windowing/egl/EGLNativeTypeAmlogic.h
index 6867c38..ca39273 100644 index cfb33ca..bdb08b6 100644
--- a/xbmc/windowing/egl/EGLNativeTypeAmlogic.h --- a/xbmc/windowing/egl/EGLNativeTypeAmlogic.h
+++ b/xbmc/windowing/egl/EGLNativeTypeAmlogic.h +++ b/xbmc/windowing/egl/EGLNativeTypeAmlogic.h
@@ -21,6 +21,19 @@ @@ -24,6 +24,19 @@
*/ #include <vector>
#include "EGLNativeType.h" #include "EGLNativeType.h"
+#include <linux/fb.h> +#include <linux/fb.h>
@ -2001,7 +1983,7 @@ index 6867c38..ca39273 100644
class CEGLNativeTypeAmlogic : public CEGLNativeType class CEGLNativeTypeAmlogic : public CEGLNativeType
{ {
public: public:
@@ -49,12 +62,14 @@ public: @@ -52,12 +65,14 @@ public:
protected: protected:
bool SetDisplayResolution(const char *resolution); bool SetDisplayResolution(const char *resolution);
@ -2702,3 +2684,39 @@ index 3754233..c863504 100644
SRCS+= EGLWrapper.cpp SRCS+= EGLWrapper.cpp
LIB = windowing_egl.a LIB = windowing_egl.a
From b8dec29c61200cc84d4f7bc5cb1fe195daa63a2b Mon Sep 17 00:00:00 2001
From: Owersun <owersun@gmail.com>
Date: Tue, 10 May 2016 22:18:03 +0200
Subject: [PATCH 2/2] Changes missing for native compilation
---
m4/xbmc_arch.m4 | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/m4/xbmc_arch.m4 b/m4/xbmc_arch.m4
index 07f1770..b8511d5 100644
--- a/m4/xbmc_arch.m4
+++ b/m4/xbmc_arch.m4
@@ -23,10 +23,7 @@ case $build in
powerpc64-*-linux-gnu*|powerpc64-*-linux-uclibc*)
AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC64")
;;
- arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
- AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
- ;;
- aarch64-*-linux-gnu*)
+ arm*-*-linux-gnu*|arm*-*-linux-uclibc*|aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*)
AC_SUBST(NATIVE_ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
;;
*)
@@ -66,9 +63,6 @@ case $host in
arm*-*-linux-gnu*|arm*-*-linux-uclibc*|aarch64*-*-linux-gnu*|aarch64*-*-linux-uclibc*)
AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
;;
- aarch64-*-linux-gnu*)
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
- ;;
mips*-*-linux-gnu*|mips*-*-linux-uclibc*)
AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
;;

View File

@ -1,17 +1,17 @@
diff -Naur a/include/configs/odroidc2.h b/include/configs/odroidc2.h diff -Naur a/include/configs/odroidc2.h b/include/configs/odroidc2.h
--- a/include/configs/odroidc2.h 2016-03-30 00:48:47.000000000 -0700 --- a/include/configs/odroidc2.h 2016-06-17 12:29:58.790889191 -0700
+++ b/include/configs/odroidc2.h 2016-05-05 23:41:45.354660099 -0700 +++ b/include/configs/odroidc2.h 2016-06-17 12:31:40.319838401 -0700
@@ -83,20 +83,12 @@ @@ -83,20 +83,12 @@
"loadaddr=0x20000000\0" \ "loadaddr=0x20000000\0" \
"dtbaddr=0x1000000\0" \ "dtbaddr=0x1000000\0" \
"fdt_high=0x20000000\0" \ "fdt_high=0x20000000\0" \
- "hdmimode=720p60hz\0" \ - "hdmimode=1080p60hz\0" \
- "cecconfig=cec0xf\0" \ - "cecconfig=cec0xf\0" \
- "bootargs=root=/dev/mmcblk0p2 rw init=/init rootwait " \ - "bootargs=root=/dev/mmcblk0p2 rw init=/init rootwait " \
- "console=ttyS0,115200 " \ - "console=ttyS0,115200 " \
- "hdmimode=720p60hz hdmitx=cecf " \ - "hdmimode=1080p60hz hdmitx=cecf " \
- "logo=osd1,loaded,0x3f800000,720p60hz " \ - "logo=osd1,loaded,0x3f800000,1080p60hz " \
- "androidboot.hardware=odroidc2 androidboot.serialno=${fbt_id#} " \ - "androidboot.hardware=odroidc2 " \
- "androidboot.selinux=disabled \0" \ - "androidboot.selinux=disabled \0" \
- "bootcmd=cfgload; showlogo ${hdmimode}; movi read dtb 0 ${dtbaddr}; movi read boot 0 ${loadaddr}; booti ${loadaddr} - ${dtbaddr}\0" - "bootcmd=cfgload; showlogo ${hdmimode}; movi read dtb 0 ${dtbaddr}; movi read boot 0 ${loadaddr}; booti ${loadaddr} - ${dtbaddr}\0"
+ "bootcmd=cfgload\0" + "bootcmd=cfgload\0"