mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2023-10-10 13:36:59 +02:00
fix amlogic for newer kernels (#214)
* fix amlogic for newer kernels crosscompile stay on 32bit aml with kernel 3.10 * add new platform amlogic64. This is used e.g. for new wetek boxes hub and play2
This commit is contained in:
parent
e342927d77
commit
06c878e76f
@ -28,6 +28,7 @@ SET ( DEFAULT_WS281XPWM OFF )
|
||||
SET ( DEFAULT_V4L2 ON )
|
||||
SET ( DEFAULT_USE_SHARED_AVAHI_LIBS OFF )
|
||||
SET ( DEFAULT_USE_AVAHI_LIBS ON )
|
||||
SET ( DEFAULT_USE_SYSTEM_PROTO_LIBS OFF )
|
||||
SET ( DEFAULT_TESTS OFF )
|
||||
|
||||
if ( NOT DEFINED PLATFORM )
|
||||
@ -38,8 +39,10 @@ if ( NOT DEFINED PLATFORM )
|
||||
EXEC_PROGRAM( "nproc" OUTPUT_VARIABLE SYSTEM_CPU_CORES )
|
||||
FILE( READ /proc/cpuinfo SYSTEM_CPUINFO )
|
||||
STRING ( TOLOWER "${SYSTEM_CPUINFO}" SYSTEM_CPUINFO )
|
||||
if ( "${SYSTEM_CPUINFO}" MATCHES "amlogic" )
|
||||
SET( PLATFORM "wetek" )
|
||||
if ( "${SYSTEM_CPUINFO}" MATCHES "amlogic" AND ${CMAKE_SIZEOF_VOID_P} EQUAL 4 )
|
||||
SET( PLATFORM "amlogic" )
|
||||
elseif ( "${SYSTEM_CPUINFO}" MATCHES "amlogic" AND ${CMAKE_SIZEOF_VOID_P} EQUAL 8 )
|
||||
SET( PLATFORM "amlogic64" )
|
||||
elseif( SYSTEM_CPU_CORES GREATER 1 AND "${SYSTEM_CPUINFO}" MATCHES "bcm" )
|
||||
SET( PLATFORM "rpi-pwm" )
|
||||
endif()
|
||||
@ -47,7 +50,7 @@ if ( NOT DEFINED PLATFORM )
|
||||
if ( PLATFORM )
|
||||
message( STATUS "PLATFORM is not defined, evaluated platform: ${PLATFORM}")
|
||||
else()
|
||||
message( FATAL_ERROR "PLATFORM is not defined and could not be evaluated. Set -DPLATFORM=<rpi|pri-pwm|wetek|x86>")
|
||||
message( FATAL_ERROR "PLATFORM is not defined and could not be evaluated. Set -DPLATFORM=<rpi|pri-pwm|amlogic|amlogic64|x86>")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@ -57,8 +60,11 @@ elseif ( "${PLATFORM}" STREQUAL "rpi-pwm" )
|
||||
SET ( DEFAULT_DISPMANX ON )
|
||||
SET ( DEFAULT_WS2812BPWM ON )
|
||||
SET ( DEFAULT_WS281XPWM ON )
|
||||
elseif ( "${PLATFORM}" STREQUAL "wetek" )
|
||||
elseif ( "${PLATFORM}" STREQUAL "wetek" OR "${PLATFORM}" STREQUAL "amlogic" )
|
||||
SET ( DEFAULT_AMLOGIC ON )
|
||||
elseif ( "${PLATFORM}" STREQUAL "amlogic64" )
|
||||
SET ( DEFAULT_AMLOGIC ON )
|
||||
SET ( DEFAULT_USE_SYSTEM_PROTO_LIBS ON )
|
||||
elseif ( "${PLATFORM}" STREQUAL "x86" )
|
||||
SET ( DEFAULT_X11 ON )
|
||||
SET ( DEFAULT_USE_SHARED_AVAHI_LIBS ON )
|
||||
|
2
dependencies/CMakeLists.txt
vendored
2
dependencies/CMakeLists.txt
vendored
@ -9,7 +9,7 @@ if(ENABLE_WS281XPWM)
|
||||
external/rpi_ws281x/rpihw.c)
|
||||
endif()
|
||||
|
||||
set(USE_SYSTEM_PROTO_LIBS OFF CACHE BOOL "use protobuf library from system")
|
||||
set(USE_SYSTEM_PROTO_LIBS ${DEFAULT_USE_SYSTEM_PROTO_LIBS} CACHE BOOL "use protobuf library from system")
|
||||
|
||||
if (USE_SYSTEM_PROTO_LIBS)
|
||||
find_package(Protobuf REQUIRED)
|
||||
|
@ -16,14 +16,19 @@
|
||||
#include <utils/Logger.h>
|
||||
#include <grabber/AmlogicGrabber.h>
|
||||
|
||||
|
||||
// Flags copied from 'include/linux/amlogic/amports/amvideocap.h' at https://github.com/codesnake/linux-amlogic
|
||||
#define AMVIDEOCAP_IOC_MAGIC 'V'
|
||||
#define AMVIDEOCAP_IOW_SET_WANTFRAME_WIDTH _IOW(AMVIDEOCAP_IOC_MAGIC, 0x02, int)
|
||||
#define AMVIDEOCAP_IOW_SET_WANTFRAME_HEIGHT _IOW(AMVIDEOCAP_IOC_MAGIC, 0x03, int)
|
||||
|
||||
// Flags copied from 'include/linux/amlogic/amports/amvstream.h' at https://github.com/codesnake/linux-amlogic
|
||||
#define AMSTREAM_IOC_MAGIC 'S'
|
||||
#define AMSTREAM_IOC_GET_VIDEO_DISABLE _IOR(AMSTREAM_IOC_MAGIC, 0x48, unsigned long)
|
||||
#if HAVE_AML_HEADER
|
||||
#include <amcodec/amports/amstream.h>
|
||||
#else
|
||||
// Flags copied from 'include/linux/amlogic/amports/amvstream.h' at https://github.com/codesnake/linux-amlogic
|
||||
#define AMSTREAM_IOC_MAGIC 'S'
|
||||
#define AMSTREAM_IOC_GET_VIDEO_DISABLE _IOR(AMSTREAM_IOC_MAGIC, 0x48, unsigned long)
|
||||
#endif
|
||||
|
||||
AmlogicGrabber::AmlogicGrabber(const unsigned width, const unsigned height)
|
||||
: _width(std::max(160u, width)) // Minimum required width or height is 160
|
||||
|
@ -1,3 +1,4 @@
|
||||
INCLUDE (CheckIncludeFiles)
|
||||
|
||||
# Define the current source locations
|
||||
SET(CURRENT_HEADER_DIR ${CMAKE_SOURCE_DIR}/include/grabber)
|
||||
@ -17,6 +18,12 @@ SET(AmlogicSOURCES
|
||||
|
||||
QT5_WRAP_CPP(AmlogicHEADERS_MOC ${AmlogicQT_HEADERS})
|
||||
|
||||
CHECK_INCLUDE_FILES ("amcodec/amports/amstream.h" HAVE_AML_HEADER)
|
||||
IF (${HAVE_AML_HEADER})
|
||||
ADD_DEFINITIONS( -DHAVE_AML_HEADER )
|
||||
ENDIF()
|
||||
|
||||
|
||||
add_library(amlogic-grabber
|
||||
${AmlogicHEADERS}
|
||||
${AmlogicQT_HEADERS}
|
||||
@ -27,3 +34,4 @@ add_library(amlogic-grabber
|
||||
target_link_libraries(amlogic-grabber
|
||||
hyperion
|
||||
${QT_LIBRARIES})
|
||||
|
||||
|
@ -8,7 +8,7 @@ find_package(libusb-1.0 REQUIRED)
|
||||
#find_package(Threads REQUIRED)
|
||||
|
||||
include_directories(
|
||||
../../include/hidapi
|
||||
${CMAKE_SOURCE_DIR}/include/hidapi
|
||||
${LIBUSB_1_INCLUDE_DIRS}
|
||||
) # for Lightpack device
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user