Skip to content

Instantly share code, notes, and snippets.

@mazgi
Created May 8, 2014 17:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mazgi/b9dbfd5cad006f0814f2 to your computer and use it in GitHub Desktop.
Save mazgi/b9dbfd5cad006f0814f2 to your computer and use it in GitHub Desktop.
omxplayer
diff --git DllBCM.h DllBCM.h
index 6149c37..ff13650 100644
--- DllBCM.h
+++ DllBCM.h
@@ -144,7 +144,7 @@ public:
#else
class DllBcmHost : public DllDynamic, DllBcmHostInterface
{
- DECLARE_DLL_WRAPPER(DllBcmHost, "/opt/vc/lib/libbcm_host.so")
+ DECLARE_DLL_WRAPPER(DllBcmHost, "/usr/src/firmware/opt/vc/lib/libbcm_host.so")
DEFINE_METHOD0(void, bcm_host_init)
DEFINE_METHOD0(void, bcm_host_deinit)
diff --git DllOMX.h DllOMX.h
index d1505e7..8514c12 100644
--- DllOMX.h
+++ DllOMX.h
@@ -92,7 +92,7 @@ public:
class DllOMX : public DllDynamic, DllOMXInterface
{
//DECLARE_DLL_WRAPPER(DllLibOpenMax, "/usr/lib/libnvomx.so")
- DECLARE_DLL_WRAPPER(DllOMX, "/opt/vc/lib/libopenmaxil.so")
+ DECLARE_DLL_WRAPPER(DllOMX, "/usr/src/firmware/opt/vc/lib/libopenmaxil.so")
DEFINE_METHOD0(OMX_ERRORTYPE, OMX_Init)
DEFINE_METHOD0(OMX_ERRORTYPE, OMX_Deinit)
diff --git Makefile Makefile
index d0c452a..5e8bfcf 100644
--- Makefile
+++ Makefile
@@ -1,10 +1,37 @@
-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 -pipe -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST -Wno-psabi
+CFLAGS+=-lpthread
-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./
+LDFLAGS+=-Lffmpeg_compiled/usr/local/lib/
+LDFLAGS+=-lc
+LDFLAGS+=-lWFC
+LDFLAGS+=-lGLESv2
+LDFLAGS+=-lEGL
+LDFLAGS+=-lbcm_host
+LDFLAGS+=-lopenmaxil
+LDFLAGS+=-lfreetype
+LDFLAGS+=-lz
+LDFLAGS+=-lpthread
+LDFLAGS+=-lavutil
+LDFLAGS+=-lswresample
INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/local/include/
+INCLUDES+=-I/usr/include/freetype2
+INCLUDES+=-I/usr/src/firmware/opt/vc/include/interface/vcos/pthreads
+INCLUDES+=-I/usr/src/firmware/opt/vc/include/interface/vmcs_host/linux
+INCLUDES+=-I/usr/src/firmware/opt/vc/include
+INCLUDES+=-Ilinux
+INCLUDES+=-I/usr/include
+INCLUDES+=-I/usr/include/libavcodec
+INCLUDES+=-I/usr/include/libavfilter
+INCLUDES+=-I/usr/include/libavformat
+#INCLUDES+=-I/usr/include/libavutil
+INCLUDES+=-I/usr/include/libswscale
+INCLUDES+=-I/usr/include/libswresample
+INCLUDES+=-I/usr/lib/dbus-1.0/include
+INCLUDES+=-I/usr/include/dbus-1.0
+INCLUDES+=-I.
+LIBS=-L/usr/src/firmware/opt/vc/lib -lrt -lbcm_host -lopenmaxil -lvcos -lvchiq_arm -lGLESv2 -lkhrn_static $(shell pkg-config --libs libavcodec libavfilter libavformat libpcre dbus-1)
DIST ?= omxplayer-dist
@@ -49,8 +76,8 @@ 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
- $(STRIP) omxplayer.bin
+ $(CXX) $(LDFLAGS) -o omxplayer.bin $(OBJS) $(LIBS)
+# $(STRIP) omxplayer.bin
clean:
for i in $(OBJS); do (if test -e "$$i"; then ( rm $$i ); fi ); done
diff --git omxplayer omxplayer
index d89283a..002adf1 100755
--- omxplayer
+++ omxplayer
@@ -5,7 +5,7 @@
OMXPLAYER_DIR=`dirname $0`
OMXPLAYER_BIN="$OMXPLAYER_DIR/omxplayer.bin"
-OMXPLAYER_LIBS="/opt/vc/lib"
+OMXPLAYER_LIBS="/usr/src/firmware/opt/vc/lib"
if [ -e "$OMXPLAYER_DIR/ffmpeg_compiled" ]; then
OMXPLAYER_LIBS="$OMXPLAYER_LIBS:$OMXPLAYER_DIR/ffmpeg_compiled"
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 -pipe -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST -Wno-psabi
CFLAGS+=-lpthread
LDFLAGS+=-L./
LDFLAGS+=-Lffmpeg_compiled/usr/local/lib/
LDFLAGS+=-lc
LDFLAGS+=-lWFC
LDFLAGS+=-lGLESv2
LDFLAGS+=-lEGL
LDFLAGS+=-lbcm_host
LDFLAGS+=-lopenmaxil
LDFLAGS+=-lfreetype
LDFLAGS+=-lz
LDFLAGS+=-lpthread
LDFLAGS+=-lavutil
LDFLAGS+=-lswresample
INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/local/include/
INCLUDES+=-I/usr/include/freetype2
INCLUDES+=-I/usr/src/firmware/opt/vc/include/interface/vcos/pthreads
INCLUDES+=-I/usr/src/firmware/opt/vc/include/interface/vmcs_host/linux
INCLUDES+=-I/usr/src/firmware/opt/vc/include
INCLUDES+=-Ilinux
INCLUDES+=-I/usr/include
INCLUDES+=-I/usr/include/libavcodec
INCLUDES+=-I/usr/include/libavfilter
INCLUDES+=-I/usr/include/libavformat
#INCLUDES+=-I/usr/include/libavutil
INCLUDES+=-I/usr/include/libswscale
INCLUDES+=-I/usr/include/libswresample
INCLUDES+=-I/usr/lib/dbus-1.0/include
INCLUDES+=-I/usr/include/dbus-1.0
INCLUDES+=-I.
LIBS=-L/usr/src/firmware/opt/vc/lib -lrt -lbcm_host -lopenmaxil -lvcos -lvchiq_arm -lGLESv2 -lkhrn_static $(shell pkg-config --libs libavcodec libavfilter libavformat libpcre dbus-1)
DIST ?= omxplayer-dist
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
version:
bash gen_version.sh > version.h
omxplayer.bin: version $(OBJS)
$(CXX) $(LDFLAGS) -o omxplayer.bin $(OBJS) $(LIBS)
# $(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 $(DIST)
@rm -f omxplayer-dist.tar.gz
ffmpeg:
@rm -rf ffmpeg
make -f Makefile.ffmpeg
make -f Makefile.ffmpeg install
dist: omxplayer.bin
mkdir -p $(DIST)/usr/lib/omxplayer
mkdir -p $(DIST)/usr/bin
mkdir -p $(DIST)/usr/share/doc
cp omxplayer omxplayer.bin $(DIST)/usr/bin
cp COPYING $(DIST)/usr/share/doc/
cp README.md $(DIST)/usr/share/doc/README
cp -a ffmpeg_compiled/usr/local/lib/*.so* $(DIST)/usr/lib/omxplayer/
cd $(DIST); tar -czf ../$(DIST).tgz *
@mazgi
Copy link
Author

mazgi commented May 8, 2014

localhost omxplayer # git remote -v
origin  git://github.com/popcornmix/omxplayer.git (fetch)
origin  git://github.com/popcornmix/omxplayer.git (push)
localhost omxplayer # PAGER=more git log -1
commit 41a7c03ebd8db3cb64c98a956c25567b3395d48d
Merge: 46616c5 3dcac7f
Author: popcornmix <popcornmix@gmail.com>
Date:   Mon May 5 11:15:29 2014 +0100

    Merge pull request #200 from stiebitzhofer/master

    Fixing issues in README.md

@mazgi
Copy link
Author

mazgi commented May 8, 2014

localhost firmware # pwd
/usr/src/firmware
localhost firmware # git remote -v                                                                                                                                                                                                                                                                                                                                                                                                       
origin  git://github.com/raspberrypi/firmware/ (fetch)
origin  git://github.com/raspberrypi/firmware/ (push)
localhost firmware # PAGER=more git log -1
commit c8881991d9181779aee9637d6f4b215f108021a3
Author: Dom Cobley <dc4@broadcom.com>
Date:   Sat May 3 19:49:11 2014 +0100

    kernel: fiq fsm: fix dequeues for non-periodic split transactions
    See: https://github.com/raspberrypi/linux/commit/b09a27249d61475e4423607f7632a5aa6e7b3a53

    kernel: Move GPIO setup to hw_params.
    See: https://github.com/raspberrypi/linux/commit/c7de2839922e1948259c2c2a2beb58ad795a51ba

@mazgi
Copy link
Author

mazgi commented May 8, 2014

localhost ~ # cat /etc/ld.so.conf
# ld.so.conf autogenerated by env-update; make all changes to
# contents of /etc/env.d directory
/lib
/usr/lib
/usr/local/lib
include ld.so.conf.d/*.conf
/usr/lib/opengl/xorg-x11/lib
/usr/src/firmware/opt/vc/lib
#/opt/vc/lib
/usr/armv6j-hardfloat-linux-gnueabi/lib

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment