Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Native compile of github.com/Stasik0/omxplayer
- 0) sudo apt-get install ca-certificates git-core binutils libva1 libpcre3-dev libidn11-dev libboost1.50-dev libfreetype6-dev libusb-1.0-0-dev
- 1) compile libboblight
- 1.1) svn checkout http://boblight.googlecode.com/svn/trunk/ boblight-read-only
- 1.2) cd boblight-read-only
- 1.3) ./configure CXXFLAGS="${CXXFLAGS} -march=armv6 -mfpu=vfp -mfloat-abi=hard" --without-portaudio --without-opengl --without-x11 --prefix=/usr
- 1.4) make && make install
- 2) compile omxplayer
- Files:
- -Makefile-
- include Makefile.include
- CFLAGS+=-DSTANDALONE -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 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST -Wno-psabi -I$(SDKSTAGE)/opt/vc/include/
- LDFLAGS+=-L./ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -Lffmpeg_compiled/usr/local/lib/
- INCLUDES+=-I./ -Ilinux -Iffmpeg
- 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 \
- 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
- omxplayer.bin: $(OBJS)
- $(CXX) $(LDFLAGS) -o omxplayer.bin $(OBJS) -lvchiq_arm -lvcos -lrt -lpthread -lavutil -lavcodec -lavformat -lswscale -lpcre
- strip omxplayer.bin
- 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
- ffmpeg:
- make -f Makefile.ffmpeg
- make -f Makefile.ffmpeg install
- omxplayer-dist.tar.gz: omxplayer.bin
- echo
- dist: omxplayer.bin
- mkdir -p $(TARGETFS)/lib
- mkdir -p $(TARGETFS)/bin
- mkdir -p $(TARGETFS)/share/doc
- cp omxplayer omxplayer.bin $(TARGETFS)/bin
- cp COPYING $(TARGETFS)/share/doc/
- cp README.md $(TARGETFS)/share/doc/README
- cp -a ffmpeg_compiled/usr/local/lib/*.so* $(TARGETFS)/lib/
- @rm -f omxplayer-dist.tar.gz
- tar -czf omxplayer-dist.tar.gz usr
- sources-clean:
- @rm -rf firmware
- @rm -rf ffmpeg
- -Makefile.include- (you might want to play with RASPBIAN variable)
- RASPBIAN=1
- ifeq ($(RASPBIAN), 1)
- CFLAGS += -std=c++0x -pipe -mfloat-abi=hard -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 -march=armv6zk
- else
- CFLAGS += -std=c++0x -pipe -mfloat-abi=softfp -fomit-frame-pointer -mabi=aapcs-linux -Wno-psabi -mno-apcs-stack-check -O3 -mstructure-size-boundary=32 -mno-sched-prolog -march=armv6zk
- endif
- BUILDROOT :=/usr/local/src/omxplayer
- TARGETFS :=usr/local
- TOOLCHAIN :=/usr/
- LD := $(TOOLCHAIN)/bin/ld
- CC := $(TOOLCHAIN)/bin/gcc
- CXX := $(TOOLCHAIN)/bin/g++
- OBJDUMP := $(TOOLCHAIN)/bin/objdump
- RANLIB := $(TOOLCHAIN)/bin/ranlib
- STRIP := $(TOOLCHAIN)/bin/strip
- AR := $(TOOLCHAIN)/bin/ar
- CXXCP := $(CXX) -E
- LDFLAGS += -L$(BUILDROOT)/firmware/opt/vc/lib -L$(BUILDROOT)/ffpmeg -L/lib -L/usr/lib -lfreetype -lboblight
- INCLUDES += -I$(BUILDROOT)/firmware/opt/vc/include/interface/vcos/pthreads \
- -I$(BUILDROOT)/firmware/opt/vc/include \
- -I$(BUILDROOT)/firmware/opt/vc/include/interface/vmcs_host \
- -I$(BUILDROOT)/ffmpeg \
- -I/usr/include \
- -I/usr/include/freetype2
- -Makefile.ffmpeg-
- include Makefile.include
- FLAGS=-D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_HAVE_SBRK -D_LARGEFILE64_SOURCE -DHAVE_CMAKE_CONFIG -DHAVE_VMCS_CONFIG -D_REENTRANT -DUSE_VCHIQ_ARM -DVCHI_BULK_ALIGN=1 -DVCHI_BULK_GRANULARITY=1 -DEGL_SERVER_DISPMANX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__VIDEOCORE4__ -DGRAPHICS_X_VG=1 -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DOMX -DOMX_SKIP64BIT
- WORK=$(PWD)
- all: checkout configure compile
- copy:
- find ffmpeg -name '*.so*' -exec cp {} . \;
- $(HOST)-strip *.so*
- compile:
- cd ffmpeg; \
- make
- configure:
- cd ffmpeg; \
- CFLAGS="$(CFLAGS) ${INCLUDES}" \
- LDFLAGS="" \
- ./configure \
- --enable-shared \
- --disable-static \
- --target-os=linux \
- --disable-muxers \
- --enable-muxer=spdif \
- --enable-muxer=adts \
- --disable-encoders \
- --enable-encoder=ac3 \
- --enable-encoder=aac \
- --disable-decoder=mpeg_xvmc \
- --disable-devices \
- --disable-ffprobe \
- --disable-ffserver \
- --disable-ffmpeg \
- --enable-shared \
- --enable-postproc \
- --enable-gpl \
- --enable-protocol=http \
- --enable-pthreads \
- --disable-runtime-cpudetect \
- --enable-pic \
- --disable-neon \
- --enable-armv6t2 \
- --enable-armv6 \
- --enable-armvfp \
- --enable-hardcoded-tables \
- --disable-runtime-cpudetect \
- --disable-debug
- clean:
- make clean
- checkout:
- install:
- cd ffmpeg; make DESTDIR="$(WORK)/ffmpeg_compiled" install
- strip ffmpeg_compiled/usr/local/lib/*.so
- sources:
- git clone https://github.com/raspberrypi/firmware.git
- git clone git://git.videolan.org/ffmpeg.git ffmpeg;
- cd ffmpeg; git checkout master; git checkout 13a7bd70c8d94c5a46c14e7ac23a170b77eff52e
- install: omxplayer-dist.tar.gz
- tar xf omxplayer-dist.tar.gz -C /
- ldconfig
- uninstall:
- ./uninstall.sh
- 2.1) make sources
- make -f Makefile.ffmpeg
- make -f Makefile.ffmpeg install
- make
- make dist
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement