Projects
Multimedia
omxplayer
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 8
View file
omxplayer.changes
Changed
@@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Wed Oct 14 14:06:16 UTC 2015 - guillaume@opensuse.org + +- Update to d99bd86 (2015-09-11) + +------------------------------------------------------------------- Thu Jun 4 15:49:45 UTC 2015 - guillaume@opensuse.org - Update to b1ad23e (2015-04-21)
View file
omxplayer.spec
Changed
@@ -20,7 +20,7 @@ %bcond_with external_ffmpeg Name: omxplayer -Version: 2015.04.21 +Version: 2015.09.11 Release: 0 Summary: omxplayer for Raspberry Pi License: GPL-2.0+
View file
omxplayer-2015.04.21.tar.gz/.gitignore -> omxplayer-2015.09.11.tar.gz/.gitignore
Changed
@@ -6,3 +6,4 @@ ffmpeg help.h keys.h +patch.flag
View file
omxplayer-2015.04.21.tar.gz/Keyboard.cpp -> omxplayer-2015.09.11.tar.gz/Keyboard.cpp
Changed
@@ -97,7 +97,7 @@ if (chnum > 1) ch[0] = ch[chnum - 1] | (ch[chnum - 2] << 8); if (chnum > 0) - CLog::Log(LOGDEBUG, "Keyboard: character %c", ch[0]); + CLog::Log(LOGDEBUG, "Keyboard: character %c (0x%x)", ch[0], ch[0]); if (m_keymap[ch[0]] != 0) send_action(m_keymap[ch[0]]);
View file
omxplayer-2015.04.21.tar.gz/MAN -> omxplayer-2015.09.11.tar.gz/MAN
Changed
@@ -23,6 +23,7 @@ --nodeinterlace Force no deinterlacing --nativedeinterlace let display handle interlace --anaglyph type convert 3d to anaglyph + --advanced Allow advanced deinterlace for HD videos -w --hw Hw audio decoding -3 --3d mode Switch tv into 3d mode (e.g. SBS/TB) -M --allow-mvc Allow decoding of both views of MVC stereo stream
View file
omxplayer-2015.04.21.tar.gz/OMXPlayerAudio.cpp -> omxplayer-2015.09.11.tar.gz/OMXPlayerAudio.cpp
Changed
@@ -278,17 +278,18 @@ { OMXPacket *omx_pkt = NULL; - while(!m_bStop && !m_bAbort) + while(true) { Lock(); - if(m_packets.empty()) + if(!(m_bStop || m_bAbort) && m_packets.empty()) pthread_cond_wait(&m_packet_cond, &m_lock); - UnLock(); - if(m_bAbort) + if (m_bStop || m_bAbort) + { + UnLock(); break; + } - Lock(); if(m_flush && omx_pkt) { OMXReader::FreePacket(omx_pkt);
View file
omxplayer-2015.04.21.tar.gz/OMXPlayerVideo.cpp -> omxplayer-2015.09.11.tar.gz/OMXPlayerVideo.cpp
Changed
@@ -216,17 +216,18 @@ { OMXPacket *omx_pkt = NULL; - while(!m_bStop && !m_bAbort) + while(true) { Lock(); - if(m_packets.empty()) + if(!(m_bStop || m_bAbort) && m_packets.empty()) pthread_cond_wait(&m_packet_cond, &m_lock); - UnLock(); - if(m_bAbort) + if (m_bStop || m_bAbort) + { + UnLock(); break; + } - Lock(); if(m_flush && omx_pkt) { OMXReader::FreePacket(omx_pkt);
View file
omxplayer-2015.04.21.tar.gz/OMXVideo.cpp -> omxplayer-2015.09.11.tar.gz/OMXVideo.cpp
Changed
@@ -251,7 +251,7 @@ if(m_deinterlace || m_config.anaglyph) { - bool advanced_deinterlace = port_image.format.video.nFrameWidth * port_image.format.video.nFrameHeight <= 576 * 720; + bool advanced_deinterlace = m_config.advanced_hd_deinterlace || port_image.format.video.nFrameWidth * port_image.format.video.nFrameHeight <= 576 * 720; if (m_config.anaglyph != OMX_ImageFilterAnaglyphNone || !advanced_deinterlace) { @@ -280,8 +280,11 @@ } else { - image_filter.nNumParams = 1; + image_filter.nNumParams = 4; image_filter.nParams[0] = 3; + image_filter.nParams[1] = 0; // default frame interval + image_filter.nParams[2] = 0; // half framerate + image_filter.nParams[3] = 1; // use qpus if (!advanced_deinterlace) image_filter.eImageFilter = OMX_ImageFilterDeInterlaceFast; else @@ -640,6 +643,18 @@ case 270: m_transform = OMX_DISPLAY_ROT270; break; + case 1: + m_transform = OMX_DISPLAY_MIRROR_ROT0; + break; + case 91: + m_transform = OMX_DISPLAY_MIRROR_ROT90; + break; + case 181: + m_transform = OMX_DISPLAY_MIRROR_ROT180; + break; + case 271: + m_transform = OMX_DISPLAY_MIRROR_ROT270; + break; default: m_transform = OMX_DISPLAY_ROT0; break; @@ -716,6 +731,20 @@ if (demuxer_content && demuxer_bytes > 0) { + OMX_U32 nFlags = 0; + + if(m_setStartTime) + { + nFlags |= OMX_BUFFERFLAG_STARTTIME; + CLog::Log(LOGDEBUG, "OMXVideo::Decode VDec : setStartTime %f\n", (pts == DVD_NOPTS_VALUE ? 0.0 : pts) / DVD_TIME_BASE); + m_setStartTime = false; + } + if (pts == DVD_NOPTS_VALUE && dts == DVD_NOPTS_VALUE) + nFlags |= OMX_BUFFERFLAG_TIME_UNKNOWN; + else if (pts == DVD_NOPTS_VALUE) + nFlags |= OMX_BUFFERFLAG_TIME_IS_DTS; + + int loop = 0; while(demuxer_bytes) { // 500ms timeout @@ -727,21 +756,9 @@ return false; } - omx_buffer->nFlags = 0; + omx_buffer->nFlags = nFlags; omx_buffer->nOffset = 0; omx_buffer->nTimeStamp = ToOMXTime((uint64_t)(pts != DVD_NOPTS_VALUE ? pts : dts != DVD_NOPTS_VALUE ? dts : 0)); - - if(m_setStartTime) - { - omx_buffer->nFlags |= OMX_BUFFERFLAG_STARTTIME; - CLog::Log(LOGDEBUG, "OMXVideo::Decode VDec : setStartTime %f\n", (pts == DVD_NOPTS_VALUE ? 0.0 : pts) / DVD_TIME_BASE); - m_setStartTime = false; - } - else if (pts == DVD_NOPTS_VALUE && dts == DVD_NOPTS_VALUE) - omx_buffer->nFlags |= OMX_BUFFERFLAG_TIME_UNKNOWN; - else if (pts == DVD_NOPTS_VALUE) - omx_buffer->nFlags |= OMX_BUFFERFLAG_TIME_IS_DTS; - omx_buffer->nFilledLen = std::min((OMX_U32)demuxer_bytes, omx_buffer->nAllocLen); memcpy(omx_buffer->pBuffer, demuxer_content, omx_buffer->nFilledLen);
View file
omxplayer-2015.04.21.tar.gz/OMXVideo.h -> omxplayer-2015.09.11.tar.gz/OMXVideo.h
Changed
@@ -52,6 +52,7 @@ CRect dst_rect; float display_aspect; EDEINTERLACEMODE deinterlace; + bool advanced_hd_deinterlace; OMX_IMAGEFILTERANAGLYPHTYPE anaglyph; bool hdmi_clock_sync; bool allow_mvc; @@ -67,6 +68,7 @@ dst_rect.SetRect(0, 0, 0, 0); display_aspect = 0.0f; deinterlace = VS_DEINTERLACEMODE_AUTO; + advanced_hd_deinterlace = false; anaglyph = OMX_ImageFilterAnaglyphNone; hdmi_clock_sync = false; allow_mvc = false;
View file
omxplayer-2015.04.21.tar.gz/README.md -> omxplayer-2015.09.11.tar.gz/README.md
Changed
@@ -64,6 +64,7 @@ --nodeinterlace Force no deinterlacing --nativedeinterlace let display handle interlace --anaglyph type convert 3d to anaglyph + --advanced Allow advanced deinterlace for HD videos -w --hw Hw audio decoding -3 --3d mode Switch tv into 3d mode (e.g. SBS/TB) -M --allow-mvc Allow decoding of both views of MVC stereo stream
View file
omxplayer-2015.04.21.tar.gz/omxplayer -> omxplayer-2015.09.11.tar.gz/omxplayer
Changed
@@ -44,8 +44,8 @@ fi DBUS_CMD="dbus-daemon --fork --print-address 5 --print-pid 6 --session" -OMXPLAYER_DBUS_ADDR="/tmp/omxplayerdbus.${USER}" -OMXPLAYER_DBUS_PID="/tmp/omxplayerdbus.${USER}.pid" +OMXPLAYER_DBUS_ADDR="/tmp/omxplayerdbus.${USER:-root}" +OMXPLAYER_DBUS_PID="/tmp/omxplayerdbus.${USER:-root}.pid" if [ ! -s "$OMXPLAYER_DBUS_PID" ] || ! pgrep -f "$DBUS_CMD" -F "$OMXPLAYER_DBUS_PID" >/dev/null; then #echo "starting dbus for the first time" >&2 @@ -64,14 +64,15 @@ export DBUS_SESSION_BUS_ADDRESS export DBUS_SESSION_BUS_PID -LD_LIBRARY_PATH="$OMXPLAYER_LIBS${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" $OMXPLAYER_BIN "$@"; true +LD_LIBRARY_PATH="$OMXPLAYER_LIBS${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" $OMXPLAYER_BIN "$@" +RESULT=$? if [ ! -z $NOREFRESH ] && [ "$NOREFRESH" == "1" ]; then - exit 0 + exit $RESULT fi if [[ $@ =~ $audio_regex ]]; then - exit 0 + exit $RESULT fi if [[ $@ =~ $refresh_regex ]]; then @@ -102,3 +103,5 @@ fi fi fi + +exit $RESULT
View file
omxplayer-2015.04.21.tar.gz/omxplayer.1 -> omxplayer-2015.09.11.tar.gz/omxplayer.1
Changed
@@ -1,7 +1,7 @@ .\" Generated with Ronnjs 0.3.8 .\" http://github.com/kapouer/ronnjs/ . -.TH "OMXPLAYER" "1" "June 2015" "" "" +.TH "OMXPLAYER" "1" "October 2015" "" "" . .SH "NAME" \fBomxplayer\fR \-\- Raspberry Pi command line OMX playerOMXPlayer is a commandline OMX player for the Raspberry Pi\. It was developed as @@ -27,6 +27,7 @@ \-\-nodeinterlace Force no deinterlacing \-\-nativedeinterlace let display handle interlace \-\-anaglyph type convert 3d to anaglyph + \-\-advanced Allow advanced deinterlace for HD videos \-w \-\-hw Hw audio decoding \-3 \-\-3d mode Switch tv into 3d mode (e\.g\. SBS/TB) \-M \-\-allow\-mvc Allow decoding of both views of MVC stereo stream
View file
omxplayer-2015.04.21.tar.gz/omxplayer.cpp -> omxplayer-2015.09.11.tar.gz/omxplayer.cpp
Changed
@@ -562,6 +562,7 @@ const int native_deinterlace_opt = 0x20e; const int display_opt = 0x20f; const int alpha_opt = 0x210; + const int advanced_opt = 0x211; const int http_cookie_opt = 0x300; const int http_user_agent_opt = 0x301; @@ -581,6 +582,7 @@ { "nodeinterlace",no_argument, NULL, no_deinterlace_opt }, { "nativedeinterlace",no_argument, NULL, native_deinterlace_opt }, { "anaglyph", required_argument, NULL, anaglyph_opt }, + { "advanced", no_argument, NULL, advanced_opt }, { "hw", no_argument, NULL, 'w' }, { "3d", required_argument, NULL, '3' }, { "allow-mvc", no_argument, NULL, 'M' }, @@ -683,6 +685,9 @@ case anaglyph_opt: m_config_video.anaglyph = (OMX_IMAGEFILTERANAGLYPHTYPE)atoi(optarg); break; + case advanced_opt: + m_config_video.advanced_hd_deinterlace = true; + break; case 'w': m_config_audio.hwdecode = true; break; @@ -1672,11 +1677,6 @@ OMXClock::OMXSleep(10); continue; } - if (m_loop) - { - m_incr = m_loop_from - (m_av_clock->OMXMediaTime() ? m_av_clock->OMXMediaTime() / DVD_TIME_BASE : last_seek_pos); - continue; - } if (!m_send_eos && m_has_video) m_player_video.SubmitEOS(); if (!m_send_eos && m_has_audio) @@ -1688,6 +1688,13 @@ OMXClock::OMXSleep(10); continue; } + + if (m_loop) + { + m_incr = m_loop_from - (m_av_clock->OMXMediaTime() ? m_av_clock->OMXMediaTime() / DVD_TIME_BASE : last_seek_pos); + continue; + } + break; }
View file
omxplayer-2015.04.21.tar.gz/prepare-native-raspbian.sh -> omxplayer-2015.09.11.tar.gz/prepare-native-raspbian.sh
Changed
@@ -1,7 +1,37 @@ #!/bin/sh -echo "Patching makefiles..." -echo "FLOAT=hard +check_dpkg_installed() { + echo -n "." + if [ $(dpkg-query -W -f='${Status}' $1 2>/dev/null | grep -c "ok installed") -eq 0 ]; + then + MISSING_PKGS="$MISSING_PKGS $1" + fi +} + +echo "Modifying for native build on Debian" + +echo "Checking dpkg database for missing packages" +REQUIRED_PKGS="ca-certificates git-core subversion binutils libva1 libpcre3-dev libidn11-dev libboost1.50-dev libfreetype6-dev libusb-1.0-0-dev libdbus-1-dev libssl-dev libssh-dev libsmbclient-dev gcc-4.7 g++-4.7 sed pkg-config" +MISSING_PKGS="" +for pkg in $REQUIRED_PKGS +do + check_dpkg_installed $pkg +done +echo "" +if [ ! -z "$MISSING_PKGS" ]; then + echo "You are missing required packages." + echo "Run sudo apt-get update && sudo apt-get install $MISSING_PKGS" + exit 1 +else + echo "All dependencies met" +fi + +if [ -e "patch.flag" ] +then + echo "Makefiles already patched, nothing to do here" +else + echo "Patching makefiles..." + echo "FLOAT=hard CFLAGS += -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 `pkg-config dbus-1 --cflags` @@ -25,15 +55,15 @@ -I/usr/include \ -I/usr/include/freetype2" > Makefile.include -sed -i '/--enable-cross-compile \\/d;' Makefile.ffmpeg -sed -i 's/ --cross-prefix=$(HOST)-//g;' Makefile.ffmpeg + sed -i '/--enable-cross-compile \\/d;' Makefile.ffmpeg + sed -i 's/ --cross-prefix=$(HOST)-//g;' Makefile.ffmpeg -sed -i 's/$(HOST)-//g;' Makefile.* -sed -i 's/ -j9//g;' Makefile.* -sed -i 's/#arm-unknown-linux-gnueabi-strip/arm-unknown-linux-gnueabi-strip/g;' Makefile -sed -i 's/arm-unknown-linux-gnueabi-strip/strip/g;' Makefile + sed -i 's/$(HOST)-//g;' Makefile.* + sed -i 's/ -j9//g;' Makefile.* + sed -i 's/#arm-unknown-linux-gnueabi-strip/arm-unknown-linux-gnueabi-strip/g;' Makefile + sed -i 's/arm-unknown-linux-gnueabi-strip/strip/g;' Makefile -cat <<EOF >>Makefile + cat <<EOF >>Makefile install: cp -r \$(DIST)/* / @@ -44,19 +74,45 @@ rm -rf /usr/share/doc/omxplayer rm -rf /usr/share/man/man1/omxplayer.1 EOF + touch "patch.flag" +fi -echo "Installing packages..." -sudo apt-get update -sudo apt-get -y install ca-certificates git-core subversion binutils libva1 libpcre3-dev libidn11-dev libboost1.50-dev libfreetype6-dev libusb-1.0-0-dev libdbus-1-dev libssl-dev libssh-dev libsmbclient-dev -sudo apt-get -y install gcc-4.7 g++-4.7 - - -echo "Installing the rpi-update script..." -sudo wget http://goo.gl/1BOfJ -O /usr/bin/rpi-update && sudo chmod +x /usr/bin/rpi-update -echo "Updating firmware..." -sudo rpi-update - -echo "In order to compile ffmpeg you need to set memory_split to 16 for 256MB RAM PIs (0 does not work) or to at most 256 for 512MB RAM PIs, respectively. Otherwise there is not enough RAM to compile ffmpeg. Please do the apropriate in the raspi-config and select finish to reboot your RPi. Warning: to run compiled omxplayer please start raspi-config again and set memory_split to at least 128. [Press RETURN to continue]" -read -r REPLY -sudo raspi-config +echo "Checking for OMX development headers" +# These can either be supplied by dpkg or via rpi-update. +# First, check dpkg to avoid messing with dpkg-managed files! +REQUIRED_PKGS="libraspberrypi-dev libraspberrypi0 libraspberrypi-bin" +MISSING_PKGS="" +for pkg in $REQUIRED_PKGS +do + check_dpkg_installed $pkg +done +echo "" +if [ ! -z "$MISSING_PKGS" ]; then + echo "You are missing required packages." + echo "Run sudo apt-get update && sudo apt-get install $MISSING_PKGS" + echo "Alternative: install rpi-update with sudo wget http://goo.gl/1BOfJ -O /usr/local/bin/rpi-update && sudo chmod +x /usr/local/bin/rpi-update && sudo rpi-update" + exit 1 +else + echo "All dependencies met" +fi +echo "Checking amount of RAM in system" +#We require ~230MB of total RAM +TOTAL_RAM=`grep MemTotal /proc/meminfo | awk '{print $2}'` +TOTAL_SWAP=`grep SwapTotal /proc/meminfo | awk '{print $2}'` +if [ "$TOTAL_RAM" -lt 230000 ]; then + echo "Your system has $TOTAL_RAM kB RAM available, which is too low. Checking swap space." + if [ "$TOTAL_SWAP" -lt 230000 ]; then + echo "Your system has $TOTAL_SWAP kB swap available, which is too low." + echo "In order to compile ffmpeg you need to set memory_split to 16 for 256MB RAM PIs (0 does not work) or to at most 256 for 512MB RAM PIs, respectively." + echo "Otherwise there is not enough RAM to compile ffmpeg. Please do the apropriate in the raspi-config and select finish to reboot your RPi." + echo "Warning: to run compiled omxplayer please start raspi-config again and set memory_split to at least 128." + else + echo "You have enough swap space to compile, but speed will be lower and SD card wear will be increased." + echo "In order to compile ffmpeg you need to set memory_split to 16 for 256MB RAM PIs (0 does not work) or to at most 256 for 512MB RAM PIs, respectively." + echo "Otherwise there is not enough RAM to compile ffmpeg. Please do the apropriate in the raspi-config and select finish to reboot your RPi." + echo "Warning: to run compiled omxplayer please start raspi-config again and set memory_split to at least 128." + fi +else + echo "You should have enough RAM available to successfully compile and run omxplayer." +fi
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.