Browse Source

add omxplayer for raspberry pi

Waldemar Brodkorb 11 years ago
parent
commit
c9952d01d5

+ 2 - 0
package/bcm2835-firmware/Makefile

@@ -11,6 +11,8 @@ PKG_DESCR:=		firmware for raspberry pi (bcm2835)
 PKG_SECTION:=		base
 PKG_SITES:=		http://openadk.org/distfiles/
 
+PKG_SYSTEM_DEPENDS:=	raspberry-pi
+
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,BCM2835_FIRMWARE,bcm2835-firmware,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))

+ 12 - 3
package/bcm2835-vc/Makefile

@@ -4,22 +4,31 @@
 include ${TOPDIR}/rules.mk
 
 PKG_NAME:=		bcm2835-vc
-PKG_VERSION:=		0.1
+PKG_VERSION:=		0.2
 PKG_RELEASE:=		1
-PKG_MD5SUM:=		1ec77ba4e75807f505604c42738a2bee
+PKG_MD5SUM:=		d16840805c020af92cd2268a0291228b
 PKG_DESCR:=		vc tools for raspberry pi (bcm2835)
 PKG_SECTION:=		base
 PKG_SITES:=		http://openadk.org/distfiles/
 
+PKG_SYSTEM_DEPENDS:=	raspberry-pi
+
+PKG_SUBPKGS:=		BCM2835_VC BCM2835_VC_DEV
+
 include ${TOPDIR}/mk/package.mk
 
 $(eval $(call PKG_template,BCM2835_VC,bcm2835-vc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,BCM2835_VC_DEV,bcm2835-vc-dev,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
 
 CONFIG_STYLE:=          manual
 BUILD_STYLE:=           manual
 INSTALL_STYLE:=         manual
 
-do-install:
+bcm2835-vc-install:
 	${CP} ${WRKBUILD}/* ${IDIR_BCM2835_VC}
+	-rm -rf ${IDIR_BCM2835_VC}/opt/vc/include
+	mkdir -p ${STAGING_DIR}/opt/vc
+	${CP} ${WRKBUILD}/opt/vc/lib ${STAGING_DIR}/opt/vc
+	${CP} ${WRKBUILD}/opt/vc/include ${STAGING_DIR}/opt/vc
 
 include ${TOPDIR}/mk/pkg-bottom.mk

+ 1 - 1
package/boost/Makefile

@@ -21,7 +21,7 @@ PKG_SUBPKGS:=		BOOST BOOST_DEV
 PKGSD_BOOST_DEV:=	boost header files
 PKGSC_BOOST_DEV:=	devel
 
-PKG_CHOICES_BOOST:=	STATIC SHARED BOTH
+PKG_CHOICES_BOOST:=	SHARED STATIC BOTH
 PKGCD_STATIC:=		install static libs
 PKGCD_SHARED:=		install shared libs
 PKGCD_BOTH:=		install static and shared libs

+ 41 - 0
package/omxplayer/Makefile

@@ -0,0 +1,41 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=		omxplayer
+PKG_VERSION:=		0.1
+PKG_RELEASE:=		1
+PKG_MD5SUM:=		bb0bcdf1de3aec56d3e0746b91915d90
+PKG_DESCR:=		video player for raspberry pi
+PKG_SECTION:=		multimedia
+PKG_DEPENDS:=		libffmpeg boost bcm2835-vc libfreetype libpcre
+PKG_DEPENDS+=		librt zlib libpthread libstdcxx libgcc
+PKG_BUILDDEP:=		ffmpeg boost bcm2835-vc freetype pcre
+PKG_URL:=		https://github.com/popcornmix/omxplayer
+PKG_SITES:=		http://openadk.org/distfiles/
+
+PKG_SYSTEM_DEPENDS:=	raspberry-pi
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,OMXPLAYER,omxplayer,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIG_STYLE:=		manual
+INSTALL_STYLE:=		manual
+TARGET_CPPFLAGS+=	-I$(STAGING_DIR)/usr/include/boost-1_54 \
+			-I$(STAGING_DIR)/usr/include/freetype2 \
+			-I$(STAGING_DIR)/opt/vc/include \
+			-I$(STAGING_DIR)/opt/vc/include/interface/vcos/pthreads \
+			-I$(STAGING_DIR)/opt/vc/include/interface/vmcs_host/linux
+TARGET_LDFLAGS+=	-L$(STAGING_DIR)/opt/vc/lib
+
+omxplayer-install:
+	$(INSTALL_DIR) $(IDIR_OMXPLAYER)/usr/bin
+	$(INSTALL_BIN) $(WRKSRC)/omxplayer{,.bin} \
+		$(IDIR_OMXPLAYER)/usr/bin
+	$(INSTALL_DIR) $(IDIR_OMXPLAYER)/usr/share/fonts/truetype/freefont/
+	$(INSTALL_DATA) $(WRKSRC)/fonts/* \
+		$(IDIR_OMXPLAYER)/usr/share/fonts/truetype/freefont/
+
+include ${TOPDIR}/mk/pkg-bottom.mk

+ 11 - 0
package/omxplayer/patches/patch-Makefile

@@ -0,0 +1,11 @@
+--- omxplayer-0.1.orig/Makefile	2013-07-18 13:18:41.000000000 +0200
++++ omxplayer-0.1/Makefile	2013-07-18 17:19:38.000000000 +0200
+@@ -3,7 +3,7 @@ include Makefile.include
+ CFLAGS+=-std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG  -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DHAVE_LIBSWRESAMPLE_SWRESAMPLE_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST
+ 
+ LDFLAGS+=-L./ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz -Lffmpeg_compiled/usr/local/lib/
+-INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/local/include/
++INCLUDES+=-I./ -Ilinux
+ 
+ DIST ?= omxplayer-dist
+ 

+ 36 - 0
package/omxplayer/patches/patch-Makefile_include

@@ -0,0 +1,36 @@
+--- omxplayer-0.1.orig/Makefile.include	2013-07-18 13:18:43.000000000 +0200
++++ omxplayer-0.1/Makefile.include	2013-07-22 11:11:12.000000000 +0200
+@@ -19,20 +19,20 @@ endif
+ 
+ JOBS=7
+ 
+-CFLAGS			:= -isystem$(PREFIX)/include
+-CXXFLAGS		:= $(CFLAGS)
+-CPPFLAGS		:= $(CFLAGS)
+-LDFLAGS			:= -L$(BUILDROOT)/lib
+-LD					:= $(TOOLCHAIN)/bin/$(HOST)-ld --sysroot=$(SYSROOT)
+-CC					:= $(TOOLCHAIN)/bin/$(HOST)-gcc --sysroot=$(SYSROOT)
+-CXX         := $(TOOLCHAIN)/bin/$(HOST)-g++ --sysroot=$(SYSROOT)
+-OBJDUMP			:= $(TOOLCHAIN)/bin/$(HOST)-objdump
+-RANLIB			:= $(TOOLCHAIN)/bin/$(HOST)-ranlib
+-STRIP				:= $(TOOLCHAIN)/bin/$(HOST)-strip
+-AR 					:= $(TOOLCHAIN)/bin/$(HOST)-ar
++CFLAGS			?= -isystem$(PREFIX)/include
++CXXFLAGS		?= $(CFLAGS)
++CPPFLAGS		?= $(CPPFLAGS)
++LDFLAGS			?= -L$(BUILDROOT)/lib
++LD			?= $(TOOLCHAIN)/bin/$(HOST)-ld --sysroot=$(SYSROOT)
++CC			?= $(TOOLCHAIN)/bin/$(HOST)-gcc --sysroot=$(SYSROOT)
++CXX         		?= $(TOOLCHAIN)/bin/$(HOST)-g++ --sysroot=$(SYSROOT)
++OBJDUMP			?= $(TOOLCHAIN)/bin/$(HOST)-objdump
++RANLIB			?= $(TOOLCHAIN)/bin/$(HOST)-ranlib
++STRIP			?= $(TOOLCHAIN)/bin/$(HOST)-strip
++AR 			?= $(TOOLCHAIN)/bin/$(HOST)-ar
+ CXXCP 			:= $(CXX) -E
+ PATH 				:= $(PREFIX)/bin:$(BUILDROOT)/output/host/usr/bin:$(PATH)
+ 
+-CFLAGS			+= -pipe -mfloat-abi=$(FLOAT) -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -mno-apcs-stack-check -O3 -mstructure-size-boundary=32 -mno-sched-prolog
++CFLAGS			+= -pipe -fomit-frame-pointer -O3 -mstructure-size-boundary=32 -mno-sched-prolog
+ LDFLAGS			+= -L$(SDKSTAGE)/lib -L$(SDKSTAGE)/usr/lib -L$(SDKSTAGE)/opt/vc/lib/
+-INCLUDES		+= -isystem$(SDKSTAGE)/usr/include -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -isystem$(SDKSTAGE)/usr/include/freetype2
++INCLUDES		+= $(CPPFLAGS)

+ 35 - 0
package/omxplayer/patches/patch-Makefile_include.orig

@@ -0,0 +1,35 @@
+--- omxplayer-0.1.orig/Makefile.include	2013-07-18 13:18:43.000000000 +0200
++++ omxplayer-0.1/Makefile.include	2013-07-18 17:19:58.000000000 +0200
+@@ -19,20 +19,20 @@ endif
+ 
+ JOBS=7
+ 
+-CFLAGS			:= -isystem$(PREFIX)/include
+-CXXFLAGS		:= $(CFLAGS)
+-CPPFLAGS		:= $(CFLAGS)
+-LDFLAGS			:= -L$(BUILDROOT)/lib
+-LD					:= $(TOOLCHAIN)/bin/$(HOST)-ld --sysroot=$(SYSROOT)
+-CC					:= $(TOOLCHAIN)/bin/$(HOST)-gcc --sysroot=$(SYSROOT)
+-CXX         := $(TOOLCHAIN)/bin/$(HOST)-g++ --sysroot=$(SYSROOT)
+-OBJDUMP			:= $(TOOLCHAIN)/bin/$(HOST)-objdump
+-RANLIB			:= $(TOOLCHAIN)/bin/$(HOST)-ranlib
+-STRIP				:= $(TOOLCHAIN)/bin/$(HOST)-strip
+-AR 					:= $(TOOLCHAIN)/bin/$(HOST)-ar
++CFLAGS			?= -isystem$(PREFIX)/include
++CXXFLAGS		?= $(CFLAGS)
++CPPFLAGS		?= $(CPPFLAGS)
++LDFLAGS			?= -L$(BUILDROOT)/lib
++LD			?= $(TOOLCHAIN)/bin/$(HOST)-ld --sysroot=$(SYSROOT)
++CC			?= $(TOOLCHAIN)/bin/$(HOST)-gcc --sysroot=$(SYSROOT)
++CXX         		?= $(TOOLCHAIN)/bin/$(HOST)-g++ --sysroot=$(SYSROOT)
++OBJDUMP			?= $(TOOLCHAIN)/bin/$(HOST)-objdump
++RANLIB			?= $(TOOLCHAIN)/bin/$(HOST)-ranlib
++STRIP			?= $(TOOLCHAIN)/bin/$(HOST)-strip
++AR 			?= $(TOOLCHAIN)/bin/$(HOST)-ar
+ CXXCP 			:= $(CXX) -E
+ PATH 				:= $(PREFIX)/bin:$(BUILDROOT)/output/host/usr/bin:$(PATH)
+ 
+ CFLAGS			+= -pipe -mfloat-abi=$(FLOAT) -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -mno-apcs-stack-check -O3 -mstructure-size-boundary=32 -mno-sched-prolog
+ LDFLAGS			+= -L$(SDKSTAGE)/lib -L$(SDKSTAGE)/usr/lib -L$(SDKSTAGE)/opt/vc/lib/
+-INCLUDES		+= -isystem$(SDKSTAGE)/usr/include -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -isystem$(SDKSTAGE)/usr/include/freetype2
++INCLUDES		+= $(CPPFLAGS)

+ 17 - 0
package/omxplayer/patches/patch-OMXPlayerSubtitles_cpp

@@ -0,0 +1,17 @@
+--- omxplayer-0.1.orig/OMXPlayerSubtitles.cpp	2013-07-18 13:18:41.000000000 +0200
++++ omxplayer-0.1/OMXPlayerSubtitles.cpp	2013-07-22 11:04:00.000000000 +0200
+@@ -43,11 +43,9 @@ OMXPlayerSubtitles::OMXPlayerSubtitles()
+   m_font_size(),
+   m_centered(),
+   m_lines(),
+-  m_av_clock(),
+-#ifndef NDEBUG
+-  m_open()
+-#endif
+-{}
++  m_av_clock()
++{
++}
+ 
+ OMXPlayerSubtitles::~OMXPlayerSubtitles() BOOST_NOEXCEPT
+ {

+ 1 - 0
target/linux/config/Config.in.audio

@@ -124,6 +124,7 @@ config ADK_KPACKAGE_KMOD_SND_PXA2XX_SOC_SPITZ
 config ADK_KPACKAGE_KMOD_SND_BCM2835
 	prompt "kmod-snd-bcm2835............... ALSA SOC Raspberry PI"
 	tristate
+	select ADK_KPACKAGE_KMOD_SND
 	select ADK_KERNEL_SND_ARM
 	depends on ADK_TARGET_SYSTEM_RASPBERRY_PI
 	default y if ADK_TARGET_SYSTEM_RASPBERRY_PI

+ 1 - 1
toolchain/eglibc/Makefile

@@ -74,7 +74,7 @@ $(WRKBUILD)/.headers: $(WRKBUILD)/.headers_configure
 		$(MAKE) install-headers install-bootstrap-headers=yes cross-compiling=yes \
 	);
 	touch $(STAGING_TARGET_DIR)/usr/include/gnu/stubs.h
-	touch $(STAGING_TARGET_DIR)/usr/include/gnu/stubs-{32,x32,64,o32,n32}.h
+	touch $(STAGING_TARGET_DIR)/usr/include/gnu/stubs-{32,x32,64,o32,n32,soft,hard}.h
 	touch $@
 endif
 

+ 1 - 1
toolchain/eglibc/eglibc.config

@@ -9,7 +9,7 @@
 #
 # By default, all option groups are enabled.
 OPTION_EGLIBC_ADVANCED_INET6 = y
-OPTION_EGLIBC_BACKTRACE = n
+OPTION_EGLIBC_BACKTRACE = y
 OPTION_EGLIBC_BIG_MACROS = y
 OPTION_EGLIBC_BSD = y
 OPTION_EGLIBC_CXX_TESTS = n