Commit Graph

2792 Commits

Author SHA1 Message Date
wang-bin d628e049ad vfthread: workaround blocking on stop
blocked when putting frame to queue. so clear the queue.
TODO:
quit on playing crash
sometimes block when seeking
2015-12-22 19:26:08 +08:00
wang-bin 4f9f3a49ef vfthread: clean up 2015-12-22 19:11:45 +08:00
wang-bin 9870910b6d vfthread: fix block at the end. fill a blank frame 2015-12-22 18:23:37 +08:00
wang-bin b5ed532058 update filters for filter thread 2015-12-22 18:03:24 +08:00
wang-bin 5f926f2837 try filter thread
simpler sync logic using blocking queue. higher fps.
All wait logics should be in VideoFilterThread while the decoder decodes
as fast as possible in VideoThread.
TODO:
filters, video capture, sync to external/video, force fps, frame reorder
2015-12-22 15:28:06 +08:00
wang-bin b562ab9820 version 1.9.0
Changelog:
- No audio thread if audio stream < 0. null AudioOutput now still create
audio thread.
- VideoOutput: fix lock error
- Filter: add X11 text rendering for X11Renderer/XVRenderer.
- LibAVFilter supports HW frames(not recommended)
- VideoFrame copy and init issue, bpp compute error
- Avoid using some stl APIs that breaks ABI
- Add x11 renderer
- XV: support NV12 and packed yuv formats
- Fix factory initialization for static build(iOS for example)
- Fix ffmpeg log level
- Remove AVPicture which is deprecated
- SWS 16 alignment, output to user defined buffer
- Always define the registered id so we can use everywhere
- Better iOS support: build, run, deploy(prl)
- use libuchardet now, use system one if possible
- Fix android build on windows
- XAudio2: fix crash. `double` sample format is not supported
- Fix clock value if speed changed
- VideoRenderer.updateUi
- VideoCapture: fix HW frame save
- New logo ![](http://qtav.org/blog/images/QtAV1.9.0-logo.png "Logo")
- Android: support protocol 'content'. Now can play from Gallery.
- MediaIO is not writable by default
- WinRT (Windows Store) support:
 * Link to XAudio2
 * File open and protocol
- VA-API:
 * Add hevc, vp9. Not tested
 * Support more profiles
 * Improve nvidia support
 * Interop with egl support(dma, tfp). libva 0.38 and Qt>=5.5 are
required.
 * Check resolution support before open
 * Add thread count option (new ffmpeg >2.8 does not support)
 * Prefer /dev/dri/renderD128 for drm
 * Correctly release X11/drm resource
- OpenGL:
 * OpenGL ES3 optimization
 * use new OpenGL and GLSL APIs if possible
- CI:
 * Add windows. Build with latest Qt release. Using msbuild, nmake and
mingw32-make
- API:
 * AVPlayer.stepForward(), stepBackword(). playNextFrame() is deprecated
 * AVPlayer.state
 * AVPlayer.videoDecoderPriority with name list
 * VideoRenderer.frameSize (C++), VideoOutput.frameSize
 * XXXDecoder/Encoder::supportedCodecs, AV(De)Muxer.supportedFormats/
Extensions
 * QML: more metaData keys: startTime, sampleFormat, channelLayout,
pixelFormat, videoFrames
- QMLPlayer/Player:
 * fix OpenGLWidgetRenderer crash
 * Handle Home/Back button for mobile
 * Preview item is movable
 * ppa: rename /usr/bin/player to /usr/bin/Player
v1.9.0
2015-12-21 02:24:08 +08:00
wang-bin 7f57264856 deb: add avdevice 2015-12-19 18:35:52 +08:00
wang-bin 2e06bd327e improve deployment 2015-12-19 18:35:09 +08:00
wang-bin a185733de7 deploy: do not copy prl
may result in link error (mingw)
2015-12-18 23:48:11 +08:00
wang-bin 6605864fcf winrt: fix io module build error 2015-12-18 22:32:34 +08:00
wang-bin f5b759271c add QTAV_XXX_VERSION in prf. sdk user can detect qtav version in qmake 2015-12-18 22:31:38 +08:00
wang-bin 602b120be5 ci: do not copy qt debug libs for debug build. too huge 2015-12-18 22:24:29 +08:00
WangBin 4a94627c14 Merge pull request #555 from felixonmars/master
Fix several typos
2015-12-17 22:44:02 +08:00
Felix Yan 7909a9f38b Fix several typos
corss-platform -> cross-platform
performace -> performance
Resum -> Resume
unknow -> unknown
2015-12-17 19:51:00 +08:00
wang-bin 35db808970 example/QMLPlayer: workaround qt5.6beta winrt launch from file
association
2015-12-17 13:47:41 +08:00
wang-bin 88952ffc43 vaapi: use hasExtensionEGL to check egl interop conditions 2015-12-17 00:43:31 +08:00
wang-bin 54037520f3 gl: add hasExtensionEGL 2015-12-16 23:16:17 +08:00
wang-bin ec4868672e filter: gpu frames can be processed by libavfilter. #553
do a read back. the gpu frame format may be rgba, that means gpu do yuv-
>rgb first, so it's slower than hw decoder copy back mode. If the filter
does not support rgb input, another convertion is required in avfilter.
so you'd better to disable zero copy if avfilter is used
2015-12-16 13:48:00 +08:00
wang-bin 4df760a3bd examples/QMLPlayer: preview item is movable 2015-12-16 13:27:36 +08:00
wang-bin 9e4fb75945 fix crash if change x11/xv to other renderers. apply transformation on
x11 filter
2015-12-16 03:23:56 +08:00
wang-bin 9fba4c7ce5 examples/QMLPlayer: disable ui for unsupported features 2015-12-15 16:09:30 +08:00
wang-bin ddb927f6e6 winrt: try openfile event. not working 2015-12-15 15:11:12 +08:00
wang-bin a0569ec446 vo: fix a crash in last commit of VideoRenderer 2015-12-15 00:23:35 +08:00
wang-bin 327ad4f864 blocking queue is not enough if empty
this should fix 'Queue is still empty' warning
2015-12-14 23:33:49 +08:00
wang-bin 1d6a4c6f3e fps compute from renderers instead of decoding fps
if there are multiple renderers for 1 player, the fps is total frame
rate for all renderers
2015-12-14 23:32:03 +08:00
wang-bin 5f264e2e9d forgot to skip frame rendering 2015-12-14 23:14:29 +08:00
wang-bin f21f55df02 ci: add mingw debug build 2015-12-13 01:33:59 +08:00
wang-bin 64f6ac3bd8 add AVPlayer.setVideoDecoderPriority
string is better for addon decoders
2015-12-13 00:27:25 +08:00
wang-bin 792720cbdc examples/QMLPlayer: landscape mode by default for android 2015-12-12 19:04:15 +08:00
wang-bin 09afbec9ba android io: use fromString for convenience 2015-12-12 19:02:47 +08:00
wang-bin 94b894b5b6 examples/player: uninstall old libavfilter if parameters changed 2015-12-10 12:41:21 +08:00
wang-bin 8665d57a3e gl: fix es3 render error. hasRG should be true
es3 should always support rg textures.
if GL_EXT_texture_rg is not be detected(Android Adreno 306) in old code,
the result is red video display.
2015-12-10 11:00:14 +08:00
wang-bin 86a7dc87e7 ci: use trusty for travis. add gcc 2015-12-09 11:58:44 +08:00
wang-bin 8ed20bb822 filter: improve none context 2015-12-09 11:43:12 +00:00
wang-bin 83f523657f update ffmpeg build tool 2015-12-08 17:43:23 +08:00
wang-bin a2fc440c9f debian: link to /usr/bin/Player. player is used by python3-pil 2015-12-08 17:42:00 +08:00
wang-bin 8f20637c8f filter: override isSupported for libavf and encoder filters
otherwise the filters will not work
2015-12-08 17:34:29 +08:00
wang-bin f68c05b592 use _strcmpi for vc 2015-12-06 20:49:34 +08:00
wang-bin 80545127a4 typo 2015-12-06 20:44:33 +08:00
wang-bin 53bc620a85 xaudio2: fix mingw cross build
XAudio2.h in cross environment and linux is case sensitive
2015-12-06 20:43:58 +08:00
wang-bin 544a3a0790 winrt: enable dynamic load libass.dll by default
winrt app can load a dll in package at runtime. so deploy libass.dll is
enough
2015-12-06 20:41:47 +08:00
wang-bin 18ee239211 io: default is not writable now 2015-12-06 13:56:42 +08:00
wang-bin 2b1d69a903 io: use seek macros from stdio.h 2015-12-06 13:49:52 +08:00
wang-bin 62363cd870 android: add content: io support
Do not support external subtitle auto load because we do not know the
real path
2015-12-06 13:01:38 +08:00
wang-bin 47285907fb examples/QMLPlayer: handle home button for mobile platforms #534
back button still does not work on android
2015-12-04 23:56:23 +08:00
wang-bin 1ce1b017bf fix clang override warning 2015-12-04 23:14:06 +08:00
wang-bin eb86d72bb4 examples/QMLPlayer: optimize render batches by enabling layer
less sg nodes and batches
2015-12-04 22:28:20 +08:00
wang-bin fe7974a10a add AVPlayer.state property
state api is much easier than play(), stop() and pause(bool)
2015-12-04 22:23:18 +08:00
wang-bin 990968fd60 qmlplayer: ui update 2015-12-02 23:09:58 +08:00
wang-bin 3298dc0492 winrt: update manifest 2015-12-02 22:31:26 +08:00