From 8f8ae591fdacf1e5fd4fb5cd438b633d0dd207da Mon Sep 17 00:00:00 2001 From: wang-bin Date: Tue, 1 Sep 2015 11:28:45 +0800 Subject: [PATCH] version 1.8.0 Changelog: - XAudio2 support - VideoToolbox hardware decoder(OSX) support. It can decode h264, h263, mpeg1, mpeg2, mpeg4. Better than VDA - CUDA 0-copy support - Dynamic video decoder switch when playing (try it in QMLPlayer) - Embedded ass subtitles support - ass subtitle font setup - No OpenGL build fix for linux - Fix qpainter rendering if vbo is used - Fix OpenGL rendering for some rgb formats - DXVA 0-copy improvement, intel clearvideo workaround etc. - AO: add null backend - HW: fix profile check - Ref counted frames from ff decoders. This fix opengl crash when uploading textures - Fix audio resampler parameters not set correctly - VS2015 support --- .qmake.conf | 2 +- Changelog | 20 +++++ debian/changelog | 20 +++++ debian/ubuntu.sh | 2 +- doc/TODO.md | 73 ------------------- .../QMLPlayer/android/AndroidManifest.xml | 2 +- examples/QMLPlayer/qml/QMLPlayer/About.qml | 2 +- .../QMLPlayer/qml/QMLPlayer/SubtitlePage.qml | 20 +---- qtc_packaging/ifw/config/config.xml | 2 +- .../com.qtav.product.dev/meta/package.xml | 4 +- .../meta/package.xml | 4 +- .../com.qtav.product.player/meta/package.xml | 4 +- .../com.qtav.product.runtime/meta/package.xml | 4 +- .../com.qtav.product/meta/package.xml | 4 +- src/QtAV/version.h | 2 +- src/libQtAV.pro | 2 +- 16 files changed, 61 insertions(+), 106 deletions(-) delete mode 100644 doc/TODO.md diff --git a/.qmake.conf b/.qmake.conf index f865cdb37..6317d9736 100644 --- a/.qmake.conf +++ b/.qmake.conf @@ -1,5 +1,5 @@ QTAV_MAJOR_VERSION = 1 -QTAV_MINOR_VERSION = 7 +QTAV_MINOR_VERSION = 8 QTAV_PATCH_VERSION = 0 QTAV_VERSION = $${QTAV_MAJOR_VERSION}.$${QTAV_MINOR_VERSION}.$${QTAV_PATCH_VERSION} diff --git a/Changelog b/Changelog index 5b06c1d7e..c92012263 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,23 @@ +version 1.8.0 2015-09-01 + +Changelog: +- XAudio2 support +- VideoToolbox hardware decoder(OSX) support. It can decode h264, h263, mpeg1, mpeg2, mpeg4. Better than VDA +- CUDA 0-copy support +- Dynamic video decoder switch when playing (try it in QMLPlayer) +- Embedded ass subtitles support +- ass subtitle font setup +- No OpenGL build fix for linux +- Fix qpainter rendering if vbo is used +- Fix OpenGL rendering for some rgb formats +- DXVA 0-copy improvement, intel clearvideo workaround etc. +- AO: add null backend +- HW: fix profile check +- Ref counted frames from ff decoders. This fix opengl crash when uploading textures +- Fix audio resampler parameters not set correctly +- VS2015 support + + version 1.7.0 2015-07-09 Changelog: diff --git a/debian/changelog b/debian/changelog index c163a0aef..5276be93b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,23 @@ +qtav (1.8.0) unstable; urgency=low + + * XAudio2 support + * VideoToolbox hardware decoder(OSX) support + * CUDA 0-copy support + * Dynamic video decoder switch when playing (try it in QMLPlayer) + * Embedded ass subtitles support + * ass subtitle font setup + * No OpenGL build fix for linux + * Fix qpainter rendering if vbo is used + * Fix OpenGL rendering for some rgb formats + * DXVA 0-copy improvement, intel clearvideo workaround etc. + * AO: add null backend + * HW: fix profile check + * Ref counted frames from ff decoders. Fix crash uploading textures + * Fix audio resampler parameters not set correctly + * VS2015 support + + -- Wang Bin (Lucas) Tue, 01 Sep 2015 13:25:13 +0800 + qtav (1.7.0) unstable; urgency=low * DXVA GPU zero-copy support diff --git a/debian/ubuntu.sh b/debian/ubuntu.sh index 2e0ee9a88..5227514a6 100755 --- a/debian/ubuntu.sh +++ b/debian/ubuntu.sh @@ -16,7 +16,7 @@ DATE=`date -d @$(git log -n1 --format="%at") +%Y%m%d` for D in ${DISTRIBUTIONS[@]}; do git checkout -- debian/changelog cp -avf debian/changelog $CHANGELOG_BAK - VER=1.7.0~`git log -1 --pretty=format:"git${DATE}.%h~${D}" 2> /dev/null` + VER=1.8.0~`git log -1 --pretty=format:"git${DATE}.%h~${D}" 2> /dev/null` mkchangelog $VER $D debuild -S -sa dput -f ppa:wbsecg1/qtav ../qtav_${VER}_source.changes diff --git a/doc/TODO.md b/doc/TODO.md deleted file mode 100644 index 389bf25e3..000000000 --- a/doc/TODO.md +++ /dev/null @@ -1,73 +0,0 @@ -#### MISC -- LOGO! -- qtav.org website -- Enable all features using my another project(libswresample and cuda tested): https://github.com/wang-bin/dllapi -- SDK document(doxygen seems greate) -- 3 level API like OpenMAX - * AL: use AVPlayer, VideoRenderer is enought - * IL: use codec, demuxer, renderer etc - * DL: private headers required. e.g. implement decoder -- ring buffer instead of queue -- tests and benchmark -- meta data -- component model, plugin -- filter factory and manager -- sws filter and other apis. cpu flags. see vlc/modules/video_chroma/swscale.c -- blu-ray - -#### Platform Support -- Raspberry Pi -- iOS: improve OpenAL -- Black Berry -- WinRT. Win8 app - -#### Subtitle -- In which thread? -- VideoThread: store in Statistics.subtitle_only. -- Effect - -#### Audio -- OpenAL enhancement. -- OpenSL support. -- AudioFrame -- ALSA, PulseAudio - - -####Rendering -- Rendering YUV with GLSL for QML. -- Redesign VideoFrame class to support buffers in both device and host. Thus no copy required. e.g. DXVA, VAAPI has direct rendering api. -ref: qtmmwidgets -- OpenVG or GL text renderering, dwrite text renderering -- D3D and DDraw: not that important. -- D3D surface=>gl texture: http://stackoverflow.com/questions/7686619/mixing-directx-and-opengl http://developer.download.nvidia.com/opengl/specs/WGL_NV_DX_interop.txt https://github.com/tliron/opengl-3d-vision-bridge/blob/master/opengl_3dv.c - -#### Filters -- Integrate libavfilter -- Write some hardware accelerated filters using OpenCL/GLSL/CUDA. For example, stero 3d, yuv<->rgb, hue/contrast/brightness/gamma/sharp -- OpenCL, GLSL shader(use FBO) based filter chain. User can add custom cl/shaders -- Audio filters -- IPP -- DShow filters support(mplayer dsnative?) - -#### Error control -- Math - - -#### Additional component -- option parser -- slave mode use socket and then use option parser (https://github.com/dantas/QtAV/commit/a0d93f93a6c8b3b0faea379edb42187cb87a476c) -- log module and log viewer -- config module and a gui one - -#### Hardware decoding -- Better CUDA support. No CPU copy, all done in gpu from decoding to filtering to renderering. -- DXVA HD -- DXVA2 + d3d11: https://bugzilla.mozilla.org/show_bug.cgi?id=875247 -- SSE4 optimized copy. Ref: VLC -- OMX -- Cedarv enhancement if I have a device to test -- ATI solutions. ATI UVD, XvBA -- XVMC? - -#### Player -- QMLPlayer. Morden UI diff --git a/examples/QMLPlayer/android/AndroidManifest.xml b/examples/QMLPlayer/android/AndroidManifest.xml index 5e3697a94..8d22d8b65 100644 --- a/examples/QMLPlayer/android/AndroidManifest.xml +++ b/examples/QMLPlayer/android/AndroidManifest.xml @@ -1,5 +1,5 @@ - + diff --git a/examples/QMLPlayer/qml/QMLPlayer/About.qml b/examples/QMLPlayer/qml/QMLPlayer/About.qml index 53eac1b40..a1164d80a 100644 --- a/examples/QMLPlayer/qml/QMLPlayer/About.qml +++ b/examples/QMLPlayer/qml/QMLPlayer/About.qml @@ -18,7 +18,7 @@ Page { font.pixelSize: Utils.scaled(14) onContentHeightChanged: parent.height = contentHeight + 2*anchors.margins onLinkActivated: Qt.openUrlExternally(link) - text: "

QMLPlayer " + qsTr("based on") + " QtAV 1.7.0

" + text: "

QMLPlayer " + qsTr("based on") + " QtAV 1.8.0

" + "

" + qsTr("QtAV is a corss-platform, high performace multimedia playback framework") + "

" + "

Distributed under the terms of LGPLv2.1 or later.

" + "

Copyright (C) 2012-2015 Wang Bin (aka. Lucas Wang) wbsecg1@gmail.com

" diff --git a/examples/QMLPlayer/qml/QMLPlayer/SubtitlePage.qml b/examples/QMLPlayer/qml/QMLPlayer/SubtitlePage.qml index 41e3715ca..4b7b6f76e 100644 --- a/examples/QMLPlayer/qml/QMLPlayer/SubtitlePage.qml +++ b/examples/QMLPlayer/qml/QMLPlayer/SubtitlePage.qml @@ -203,10 +203,7 @@ Page { width: Utils.scaled(50) anchors.right: parent.right height: parent.height - onClicked: { - PlayerConfig.assFontFile = "" - openFontFile.text = "" - } + onClicked: PlayerConfig.assFontFile = "" } } Item { @@ -236,10 +233,7 @@ Page { width: Utils.scaled(50) anchors.right: parent.right height: parent.height - onClicked: { - PlayerConfig.assFontsDir = "" - fontsDir.text = "" //why does it not update? - } + onClicked: PlayerConfig.assFontsDir = "" } } } @@ -356,10 +350,7 @@ Page { id: fontFileDialog title: qsTr("Choose a font file") folder: PlayerConfig.assFontFile - onAccepted: { - fontFile.text = fileUrl - PlayerConfig.assFontFile = fileUrl - } + onAccepted: PlayerConfig.assFontFile = fileUrl } FileDialog { @@ -367,10 +358,7 @@ Page { title: qsTr("Choose a fonts dir") selectFolder: true folder: PlayerConfig.assFontsDir - onAccepted: { - fontsDir.text = folder - PlayerConfig.assFontsDir = folder - } + onAccepted: PlayerConfig.assFontsDir = folder } FileDialog { diff --git a/qtc_packaging/ifw/config/config.xml b/qtc_packaging/ifw/config/config.xml index 484a3ac50..31e00acb4 100644 --- a/qtc_packaging/ifw/config/config.xml +++ b/qtc_packaging/ifw/config/config.xml @@ -1,7 +1,7 @@ QtAV - 1.7.0 + 1.8.0 QtAV-Multimedia playback framework WangBin wbsecg1@gmail.com http://www.qtav.org 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 9b0287d66..b1c5708b8 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.7.0-0 - 2015-07-09 + 1.8.0-0 + 2015-09-01 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 2cd582826..f9b823c90 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.7.0-0 - 2015-07-09 + 1.8.0-0 + 2015-09-01 com.qtav.product.examples script 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 7c49e4c57..f35d3830b 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.7.0-0 - 2015-07-09 + 1.8.0-0 + 2015-09-01 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 5948adfaf..b63ceb24d 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.7.0-0 - 2015-07-09 + 1.8.0-0 + 2015-09-01 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 9835eb7fd..10f5726b1 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.7.0-0 - 2015-07-09 + 1.8.0-0 + 2015-09-01 com.qtav.product diff --git a/src/QtAV/version.h b/src/QtAV/version.h index 0ea1bfff3..c604001d4 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 7 //((QTAV_VERSION&0xff00)>>8) +#define QTAV_MINOR 8 //((QTAV_VERSION&0xff00)>>8) #define QTAV_PATCH 0 //(QTAV_VERSION&0xff) diff --git a/src/libQtAV.pro b/src/libQtAV.pro index cd4723fc8..42e572d52 100644 --- a/src/libQtAV.pro +++ b/src/libQtAV.pro @@ -258,7 +258,7 @@ config_videotoolbox { DEFINES *= QTAV_HAVE_VIDEOTOOLBOX=1 SOURCES += codec/video/VideoDecoderVideoToolbox.cpp LIBS += -framework CoreVideo -framework CoreFoundation -framework CoreMedia \ - -framework IOSurface + -framework IOSurface -framework VideoToolbox } config_gl|config_opengl {