omxplayer: make this build with ffmpeg-2.4 and simplify build (based on alarm).
This commit is contained in:
parent
9c7228112a
commit
25a3b53765
5 changed files with 117 additions and 97 deletions
|
@ -1,66 +0,0 @@
|
|||
include Makefile.include
|
||||
|
||||
CFLAGS+= -std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_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./ -ldbus-1 -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz
|
||||
INCLUDES+=-I./ -Ilinux
|
||||
|
||||
SRC=linux/XMemUtils.cpp \
|
||||
utils/log.cpp \
|
||||
DynamicDll.cpp \
|
||||
utils/PCMRemap.cpp \
|
||||
utils/RegExp.cpp \
|
||||
OMXSubtitleTagSami.cpp \
|
||||
OMXOverlayCodecText.cpp \
|
||||
BitstreamConverter.cpp \
|
||||
linux/RBP.cpp \
|
||||
OMXThread.cpp \
|
||||
OMXReader.cpp \
|
||||
OMXStreamInfo.cpp \
|
||||
OMXAudioCodecOMX.cpp \
|
||||
OMXCore.cpp \
|
||||
OMXVideo.cpp \
|
||||
OMXAudio.cpp \
|
||||
OMXClock.cpp \
|
||||
File.cpp \
|
||||
OMXPlayerVideo.cpp \
|
||||
OMXPlayerAudio.cpp \
|
||||
OMXPlayerSubtitles.cpp \
|
||||
SubtitleRenderer.cpp \
|
||||
Unicode.cpp \
|
||||
Srt.cpp \
|
||||
KeyConfig.cpp \
|
||||
OMXControl.cpp \
|
||||
Keyboard.cpp \
|
||||
omxplayer.cpp \
|
||||
|
||||
OBJS+=$(filter %.o,$(SRC:.cpp=.o))
|
||||
|
||||
all: omxplayer.bin
|
||||
|
||||
%.o: %.cpp
|
||||
@rm -f $@
|
||||
$(CXX) $(CFLAGS) $(INCLUDES) -c $< -o $@ -Wno-deprecated-declarations
|
||||
|
||||
list_test:
|
||||
$(CXX) -O3 -o list_test list_test.cpp
|
||||
|
||||
version:
|
||||
bash gen_version.sh > version.h
|
||||
|
||||
omxplayer.bin: version $(OBJS)
|
||||
$(CXX) $(LDFLAGS) -o omxplayer.bin $(OBJS) -lvchiq_arm -lvcos -lrt -lpthread -lavutil -lavcodec -lavformat -lswscale -lswresample -lpcre
|
||||
|
||||
clean:
|
||||
for i in $(OBJS); do (if test -e "$$i"; then ( rm $$i ); fi ); done
|
||||
@rm -f omxplayer.old.log omxplayer.log
|
||||
@rm -f omxplayer.bin
|
||||
@rm -rf omxplayer-dist
|
||||
@rm -f omxplayer-dist.tar.gz
|
||||
|
||||
install:
|
||||
install -d $(DESTDIR)/usr/bin
|
||||
install -Dm755 omxplayer $(DESTDIR)/usr/bin/omxplayer
|
||||
install -Dm755 omxplayer.bin $(DESTDIR)/usr/bin
|
||||
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
USE_BUILDROOT=0
|
||||
|
||||
JOBS=1
|
||||
|
||||
CFLAGS :=
|
||||
CXXFLAGS := $(CFLAGS)
|
||||
CPPFLAGS := $(CFLAGS)
|
||||
LDFLAGS :=
|
||||
LD := ld
|
||||
CC := gcc
|
||||
CXX := g++
|
||||
OBJDUMP := objdump
|
||||
RANLIB := ranlib
|
||||
STRIP := strip
|
||||
AR := ar
|
||||
CXXCP := $(CXX) -E
|
||||
|
||||
CFLAGS += -pipe -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@CROSSBASE@/opt/vc/lib/ -Wl,-rpath /opt/vc/lib -L@CROSSBASE@/usr/lib
|
||||
|
||||
INCLUDES += -I@CROSSBASE@/opt/vc/include -I@CROSSBASE@/opt/vc/include/interface/vcos/ \
|
||||
-I@CROSSBASE@/opt/vc/include/interface/vcos/pthreads \
|
||||
-I@CROSSBASE@/opt/vc/include/interface/vmcs_host/linux \
|
||||
-I@CROSSBASE@/usr/include -I@CROSSBASE@/usr/include/dbus-1.0 \
|
||||
-I@CROSSBASE@/usr/lib/dbus-1.0/include -I@CROSSBASE@/usr/include/freetype2
|
||||
|
105
srcpkgs/omxplayer/patches/build.patch
Normal file
105
srcpkgs/omxplayer/patches/build.patch
Normal file
|
@ -0,0 +1,105 @@
|
|||
--- Makefile
|
||||
+++ Makefile
|
||||
@@ -2,9 +2,9 @@ include Makefile.include
|
||||
|
||||
CFLAGS+=-std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_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./ -Lffmpeg_compiled/usr/local/lib/ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz
|
||||
+LDFLAGS+=-L./ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz
|
||||
|
||||
-INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/local/include/ -I /usr/include/dbus-1.0 -I /usr/lib/arm-linux-gnueabihf/dbus-1.0/include
|
||||
+INCLUDES+=-I./ -Ilinux
|
||||
|
||||
DIST ?= omxplayer-dist
|
||||
|
||||
@@ -39,7 +39,7 @@ SRC=linux/XMemUtils.cpp \
|
||||
|
||||
OBJS+=$(filter %.o,$(SRC:.cpp=.o))
|
||||
|
||||
-all: dist
|
||||
+all: omxplayer.bin
|
||||
|
||||
%.o: %.cpp
|
||||
@rm -f $@
|
||||
@@ -51,7 +51,7 @@ version:
|
||||
bash gen_version.sh > version.h
|
||||
|
||||
omxplayer.bin: version $(OBJS)
|
||||
- $(CXX) $(LDFLAGS) -o omxplayer.bin $(OBJS) -lvchiq_arm -lvcos -ldbus-1 -lrt -lpthread -lavutil -lavcodec -lavformat -lswscale -lswresample -lpcre
|
||||
+ $(CXX) -o omxplayer.bin $(OBJS) $(LDFLAGS) -lvchiq_arm -lvcos -ldbus-1 -lrt -lpthread -lavutil -lavcodec -lavformat -lswscale -lswresample -lpcre
|
||||
$(STRIP) omxplayer.bin
|
||||
|
||||
help.h: README.md Makefile
|
||||
@@ -74,19 +74,9 @@ clean:
|
||||
@rm -rf $(DIST)
|
||||
@rm -f omxplayer-dist.tar.gz
|
||||
|
||||
-ffmpeg:
|
||||
- @rm -rf ffmpeg
|
||||
- make -f Makefile.ffmpeg
|
||||
- make -f Makefile.ffmpeg install
|
||||
-
|
||||
-dist: omxplayer.bin omxplayer.1
|
||||
- mkdir -p $(DIST)/usr/lib/omxplayer
|
||||
- mkdir -p $(DIST)/usr/bin
|
||||
- mkdir -p $(DIST)/usr/share/doc/omxplayer
|
||||
- mkdir -p $(DIST)/usr/share/man/man1
|
||||
- cp omxplayer omxplayer.bin $(DIST)/usr/bin
|
||||
- cp COPYING $(DIST)/usr/share/doc/omxplayer
|
||||
- cp README.md $(DIST)/usr/share/doc/omxplayer/README
|
||||
- cp omxplayer.1 $(DIST)/usr/share/man/man1
|
||||
- cp -a ffmpeg_compiled/usr/local/lib/*.so* $(DIST)/usr/lib/omxplayer/
|
||||
- cd $(DIST); tar -czf ../$(DIST).tgz *
|
||||
+install:
|
||||
+ install -d $(DESTDIR)/usr/bin
|
||||
+ install -d $(DESTDIR)/usr/share/doc/omxplayer
|
||||
+ install omxplayer $(DESTDIR)/usr/bin/
|
||||
+ install omxplayer.bin $(DESTDIR)/usr/bin/
|
||||
+ install README.md $(DESTDIR)/usr/share/doc/omxplayer/
|
||||
--- Makefile.include
|
||||
+++ Makefile.include
|
||||
@@ -1,40 +1,4 @@
|
||||
-USE_BUILDROOT=0
|
||||
-FLOAT=hard
|
||||
-
|
||||
-ifeq ($(USE_BUILDROOT), 1)
|
||||
-BUILDROOT :=/opt/xbmc-bcm/buildroot
|
||||
-SDKSTAGE :=$(BUILDROOT)/output/staging
|
||||
-TARGETFS :=$(BUILDROOT)/output/target
|
||||
-TOOLCHAIN :=$(BUILDROOT)/output/host/usr/
|
||||
-HOST :=arm-unknown-linux-gnueabi
|
||||
-SYSROOT :=$(BUILDROOT)/output/host/usr/arm-unknown-linux-gnueabi/sysroot
|
||||
-else
|
||||
-BUILDROOT :=/opt/bcm-rootfs
|
||||
-SDKSTAGE :=/opt/bcm-rootfs
|
||||
-TARGETFS :=/opt/bcm-rootfs
|
||||
-TOOLCHAIN :=/home/dc4/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/
|
||||
-HOST :=arm-linux-gnueabihf
|
||||
-#SYSROOT :=$(TOOLCHAIN)/arm-bcm2708hardfp-linux-gnueabi/sysroot
|
||||
-SYSROOT :=/opt/bcm-rootfs
|
||||
-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
|
||||
-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 -g -mstructure-size-boundary=32 -mno-sched-prolog
|
||||
-LDFLAGS += -L$(SDKSTAGE)/lib -L$(SDKSTAGE)/usr/lib -L$(SDKSTAGE)/opt/vc/lib/ -Lpcre/build
|
||||
-#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 += -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -Ipcre/build -Iboost-trunk -Ifreetype2/include
|
||||
+#STRIP := strip
|
||||
+CFLAGS += -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -Wno-psabi -mno-apcs-stack-check -g -mstructure-size-boundary=32 -mno-sched-prolog
|
||||
+LDFLAGS += -L$(XBPS_CROSS_BASE)/opt/vc/lib/
|
||||
+INCLUDES += -I$(XBPS_CROSS_BASE)/opt/vc/include -I$(XBPS_CROSS_BASE)/opt/vc/include/interface/vmcs_host/linux -I$(XBPS_CROSS_BASE)/opt/vc/include/interface/vcos/pthreads -I$(XBPS_CROSS_BASE)/usr/include/freetype2 -I$(XBPS_CROSS_BASE)/usr/include/dbus-1.0 -I$(XBPS_CROSS_BASE)/usr/lib/dbus-1.0/include
|
11
srcpkgs/omxplayer/patches/ffmpeg-2.4.patch
Normal file
11
srcpkgs/omxplayer/patches/ffmpeg-2.4.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- DllAvFilter.h
|
||||
+++ DllAvFilter.h
|
||||
@@ -124,7 +124,7 @@ public:
|
||||
}
|
||||
virtual int avfilter_graph_parse(AVFilterGraph *graph, const char *filters, AVFilterInOut **inputs, AVFilterInOut **outputs, void *log_ctx)
|
||||
{
|
||||
- return ::avfilter_graph_parse(graph, filters, inputs, outputs, log_ctx);
|
||||
+ return ::avfilter_graph_parse(graph, filters, *inputs, *outputs, log_ctx);
|
||||
}
|
||||
virtual int avfilter_graph_config(AVFilterGraph *graphctx, void *log_ctx)
|
||||
{
|
|
@ -12,6 +12,7 @@ homepage="https://github.com/popcornmix/omxplayer"
|
|||
# XXX only rpi
|
||||
only_for_archs="armv6l"
|
||||
build_style=gnu-makefile
|
||||
make_build_args="XBPS_CROSS_BASE=$XBPS_CROSS_BASE"
|
||||
hostmakedepends="pkg-config git"
|
||||
makedepends="rpi-firmware>=20130913 pcre-devel boost-devel freetype-devel ffmpeg-devel>=2.4 dbus-devel"
|
||||
depends="rpi-firmware>=20130913 freefont-ttf"
|
||||
|
@ -24,8 +25,6 @@ do_fetch() {
|
|||
}
|
||||
|
||||
pre_build() {
|
||||
cp -f ${FILESDIR}/* .
|
||||
sed -e 's,/usr/share/fonts/truetype/freefont,/usr/share/fonts/TTF,g' -i omxplayer.cpp
|
||||
mkdir -p /opt/vc/lib
|
||||
sed -e "s|@CROSSBASE@|${XBPS_CROSS_BASE}|g" -i Makefile.include
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue