diff --git a/.qmake.conf b/.qmake.conf index 85ca34aec..1536af00f 100644 --- a/.qmake.conf +++ b/.qmake.conf @@ -1,5 +1,5 @@ QTAV_MAJOR_VERSION = 1 -QTAV_MINOR_VERSION = 5 +QTAV_MINOR_VERSION = 6 QTAV_PATCH_VERSION = 0 QTAV_VERSION = $${QTAV_MAJOR_VERSION}.$${QTAV_MINOR_VERSION}.$${QTAV_PATCH_VERSION} diff --git a/Changelog b/Changelog index b780e9a65..bf8181b5f 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,32 @@ +version 1.6.0 2015-04-23 + +Changlog: +- VDA: use NV12 as default format. Support 0 copy. Better performance than any other playrs +- CUDA: fix wrong bitstream filters +- OpenGL: + * PBO support (enable by enviroment var QTAV_PBO=1) + * rectangle texture support + * packed yuv formats support +- Support buffer progress, buffer value control +- Support frame rate setup (AVPlayer::setFrameRate()) +- Support RAW streams, such as h264, yuv +- Audio filter support +- Better libavfilter support. Now support libav avfilter, support audio filters from libavfilter +- Add pulseaudio support +- Detect volume change by per-app volume control +- Simplify audio output API +- Volume and mute control by audio backend API +- Use float audio sample if possible +- Fix iOS static link error +- Fix error handling, EOF detect, Qt4.7 build etc. +- Deploy: add qml, fix lib name, deploy sdk from installer, mingw deployment on linux. +- player/QMLPlayer: + * decoder detail + * more options: preview config, buffer, fps, timeout + * unregister context menu(win32) if uninstalled, ifw2.0 + * QMLPlayer file associate for android + + version 1.5.0 2015-02-13 Changelog: @@ -23,7 +52,7 @@ Changelog: * Fast seek and display if seek shortcut is pressed and hold -version 1.4.2 2015-02-13 +version 1.4.2 2014-12-27 Changelog: - Async load diff --git a/TODO.txt b/TODO.txt deleted file mode 100644 index a6cc6a8f8..000000000 --- a/TODO.txt +++ /dev/null @@ -1,84 +0,0 @@ -Roadmap: -1.0: can play. statble. plugin framework -2.0: base functions, gui -3.0: components structure. base a/v filters -4.0: own graphics library. -5.0: Encoding -6.0: Advanced filters: transform (play on 3D surface) - - -network stream -avio pause network - -TODO: -Filter framework: use FrameContext instead of QByteArray. Render on vo or image - -type.h -QtAV_Compat.h=>pch -external clock -use v,a,-1 stream when seeking -hardware acceleration, ffmpeg-mt -libx264 -modular -decode and yuv2rgb: GLSL, ipp, cuda -OpenCL, OpenGL, OpenAL, OpenSL, cuda, ipp -OpenAL:http://www.cocoachina.com/bbs/read.php?tid=51579 -set audio output -capture: set async -structure:{ -AVObject=>AVDemux, AVDecoder{,ipp,cuda,cl}, ImageConverter{,ipp,GLSL,cuda,cl}, Resample{,ipp,GLSL,cuda,cl}, Filter{,ipp,GLSL,cuda,cl}, Output{GL,AL,SL.DX} -api: name, hwaName(ff,ipp,cuda,cl,gl,cuda}, hwaSupported,hwaInfo -} - -BUG: -[udp @ 02d18740] 'circular_buffer_size' option was set but it is not supported on this build (pthread support is required) -Debug: no frame could be decompressed -Error - RtlWerpReportException failed with status code :-1073741696. Will try to launch the process directly -[h264 @ 11793ee0] reference picture missing during reorder -[h264 @ 11793ee0] reference picture missing during reorder -[h264 @ 11793ee0] reference picture missing during reorder -[h264 @ 11793ee0] reference picture missing during reorder -[h264 @ 11793ee0] Missing reference picture -[h264 @ 11793ee0] decode_slice_header error -[h264 @ 11793ee0] concealing 1200 DC, 1200 AC, 1200 MV errors in P frame -Assertion i < avci->buffer_count failed at libavcodec/utils.c:603 -Warning: QObject::killTimers: timers cannot be stopped from another thread - - -Warning: Queue is still empty -Debug: Invalid pts or empty packet! -Debug: 151 0.059248 -Debug: [AVDemuxer] seek to 0.059248 58.583946 61916734 / 1045045000 backward=0 -Debug: no frame could be decompressed -Debug: no frame could be decompressed -Error - RtlWerpReportException failed with status code :-1073741696. Will try to launch the process directly -Debug: -> -Debug: 151 0.068313 -Debug: [AVDemuxer] seek to 0.068313 65.732399 71390476 / 1045045000 backward=0 -Debug: no frame could be decompressed -[h264 @ 1173fb40] mmco: unref short failure -[h264 @ 1173fb40] mmco: unref short failure - - -Debug: -> -Debug: 151 0.068848 -Debug: [AVDemuxer] seek to 0.068848 215.434739 210911383 / 3063455057 backward=1 -Debug: Seek end -Debug: no frame could be decompressed -[h264 @ 0d428ce0] Missing reference picture -[h264 @ 0d428ce0] decode_slice_header error -[h264 @ 0d428ce0] concealing 1200 DC, 1200 AC, 1200 MV errors in P frame -Debug: delay 18.888617 -Debug: no frame could be decompressed -[h264 @ 0d4288e0] mmco: unref short failure -Debug: delay 18.955283 -Debug: delay 19.021950 -Debug: delay 19.088617 -Debug: delay 19.155283 -Debug: delay 19.221950 -Debug: delay 19.288617 -Debug: delay 19.355283 -Debug: delay 19.421950 -Debug: delay 19.488617 -Debug: delay 19.555283 -Debug: delay 19.621950 diff --git a/debian/changelog b/debian/changelog index ec9fd0027..47291afb8 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,29 @@ +qtav (1.6.0) unstable; urgency=low + + * VDA: use NV12 as default format. Support 0 copy. Better performance than any other playrs + * CUDA: fix wrong bitstream filters + * PBO support (enable by enviroment var QTAV_PBO=1) + * Rectangle texture support + * Packed yuv formats support + * Support buffer progress, buffer value control + * Support frame rate setup (AVPlayer::setFrameRate()) + * Support RAW streams, such as h264, yuv + * Audio filter support + * Better libavfilter support. Now support libav avfilter, support audio filters from libavfilter + * Add pulseaudio support + * Detect volume change by per-app volume control + * Simplify audio output API + * Volume and mute control by audio backend API + * Use float audio sample if possible + * Fix iOS static link error + * Fix error handling, EOF detect, Qt4.7 build etc. + * Deploy: add qml, fix lib name, deploy sdk from installer, mingw deployment on linux. + * player: decoder detail, more options: preview config, buffer, fps, timeout + * Unregister context menu(win32) if uninstalled, ifw2.0 + * QMLPlayer file associate for android + + -- Wang Bin Sat, 13 Feb 2015 20:19:00 +0800 + qtav (1.5.0) unstable; urgency=low * Add QtAVWidgets module contains widget based renderers, video preview widget @@ -18,7 +44,7 @@ qtav (1.5.0) unstable; urgency=low * player: real time preview on progress bar * Fast seek and display if seek shortcut is pressed and hold - -- Wang Bin Sat, 13 Feb 2015 20:19:00 +0800 + -- Wang Bin Thu, 23 Apr 2015 18:00:00 +0800 qtav (1.4.2) unstable; urgency=low diff --git a/examples/common/Info.plist b/examples/common/Info.plist index 90f2a62c9..8bf8dc132 100644 --- a/examples/common/Info.plist +++ b/examples/common/Info.plist @@ -173,7 +173,7 @@ CFBundleExecutable - player + @EXECUTABLE@ CFBundleIconFile QtAV.icns CFBundleIdentifier diff --git a/qtc_packaging/ifw/packages/com.qtav.product.dev/meta/package.xml b/qtc_packaging/ifw/packages/com.qtav.product.dev/meta/package.xml index aee09e394..ff2ca1071 100644 --- a/qtc_packaging/ifw/packages/com.qtav.product.dev/meta/package.xml +++ b/qtc_packaging/ifw/packages/com.qtav.product.dev/meta/package.xml @@ -2,8 +2,8 @@ Development files Install QtAV headers and lib. - 1.5.0-0 - 2015-02-13 + 1.6.0-0 + 2015-04-23 com.qtav.product.dev script diff --git a/qtc_packaging/ifw/packages/com.qtav.product.examples/meta/package.xml b/qtc_packaging/ifw/packages/com.qtav.product.examples/meta/package.xml index 76185fd6d..44cb6bcea 100644 --- a/qtc_packaging/ifw/packages/com.qtav.product.examples/meta/package.xml +++ b/qtc_packaging/ifw/packages/com.qtav.product.examples/meta/package.xml @@ -2,8 +2,8 @@ Examples Install QtAV examples. - 1.5.0-0 - 2015-02-13 + 1.6.0-0 + 2015-04-23 com.qtav.product.examples script diff --git a/qtc_packaging/ifw/packages/com.qtav.product.player/meta/installscript.qs b/qtc_packaging/ifw/packages/com.qtav.product.player/meta/installscript.qs index 8054b2e7f..c3918fa65 100644 --- a/qtc_packaging/ifw/packages/com.qtav.product.player/meta/installscript.qs +++ b/qtc_packaging/ifw/packages/com.qtav.product.player/meta/installscript.qs @@ -66,7 +66,7 @@ Component.prototype.createOperations = function() component.addOperation("CreateShortcut", "@TargetDir@/bin/QMLPlayer.exe", "@StartMenuDir@/QtAV.Player.QML.lnk", "workingDirectory=@TargetDir@/bin", "iconPath=%SystemRoot%/system32/SHELL32.dll", "iconId=2"); - component.addOperation("CreateShortcut", "@TargetDir@/uninstall.exe", "@StartMenuDir@/QtAV.Uninstall.lnk", + component.addOperation("CreateShortcut", "@TargetDir@/maintenancetool.exe", "@StartMenuDir@/QtAV.Uninstall.lnk", "workingDirectory=@TargetDir@", "iconPath=%SystemRoot%/system32/SHELL32.dll", "iconId=2"); diff --git a/qtc_packaging/ifw/packages/com.qtav.product.player/meta/package.xml b/qtc_packaging/ifw/packages/com.qtav.product.player/meta/package.xml index d221d1154..995b5323a 100644 --- a/qtc_packaging/ifw/packages/com.qtav.product.player/meta/package.xml +++ b/qtc_packaging/ifw/packages/com.qtav.product.player/meta/package.xml @@ -2,8 +2,8 @@ Player Default player. - 1.5.0-0 - 2015-02-13 + 1.6.0-0 + 2015-04-23 com.qtav.product.player true true diff --git a/qtc_packaging/ifw/packages/com.qtav.product.runtime/meta/package.xml b/qtc_packaging/ifw/packages/com.qtav.product.runtime/meta/package.xml index 811fd57a8..458285443 100644 --- a/qtc_packaging/ifw/packages/com.qtav.product.runtime/meta/package.xml +++ b/qtc_packaging/ifw/packages/com.qtav.product.runtime/meta/package.xml @@ -2,8 +2,8 @@ Runtime library Install QtAV runtime library. - 1.5.0-0 - 2015-02-13 + 1.6.0-0 + 2015-04-23 com.qtav.product.runtime zh_CN.qm diff --git a/qtc_packaging/ifw/packages/com.qtav.product/meta/package.xml b/qtc_packaging/ifw/packages/com.qtav.product/meta/package.xml index 2c2339ef4..85c6a79d6 100644 --- a/qtc_packaging/ifw/packages/com.qtav.product/meta/package.xml +++ b/qtc_packaging/ifw/packages/com.qtav.product/meta/package.xml @@ -2,8 +2,8 @@ QtAV Install QtAV multimedia library - 1.5.0-0 - 2015-02-13 + 1.6.0-0 + 2015-04-23 com.qtav.product diff --git a/src/QtAV/version.h b/src/QtAV/version.h index cadd0d120..7c36e94fe 100644 --- a/src/QtAV/version.h +++ b/src/QtAV/version.h @@ -23,7 +23,7 @@ #define QTAV_VERSION_H #define QTAV_MAJOR 1 //((QTAV_VERSION&0xff0000)>>16) -#define QTAV_MINOR 5 //((QTAV_VERSION&0xff00)>>8) +#define QTAV_MINOR 6 //((QTAV_VERSION&0xff00)>>8) #define QTAV_PATCH 0 //(QTAV_VERSION&0xff) diff --git a/tools/deploy_osx.sh b/tools/deploy_osx.sh index 85832c292..f3eac434f 100755 --- a/tools/deploy_osx.sh +++ b/tools/deploy_osx.sh @@ -5,6 +5,7 @@ if [ $# -lt 1 ]; then exit 1 fi #set -ev +THIS_DIR=$PWD BUILD_DIR=$1 QTBIN=`grep -m 1 QT_BIN $BUILD_DIR/.qmake.cache |cut -d "=" -f 2 | tr -d ' '` QTDIR=$QTBIN/.. @@ -36,7 +37,7 @@ deploy() { local APP=$1 local FRAMEWORK_DIR=bin/${APP}.app/Contents/Frameworks local EXE=bin/${APP}.app/Contents/MacOS/$APP - [ -f sdk_osx.sh ] && cp -Lf sdk_osx.sh bin/${APP}.app/ + [ -f $THIS_DIR/sdk_osx.sh ] && cp -Lf $THIS_DIR/sdk_osx.sh bin/${APP}.app/ mkdir -p $FRAMEWORK_DIR local LIBCOMMON=`otool -L $EXE |awk '{print $1}' |grep libcommon`