1836 Commits
Author SHA1 Message Date
wang-bin fa6df7e1a2 version 1.4.2 2014-12-27
Changelog:
- Async load
- Faster seek and preview. Thanks wm4(mpv developer)
- Better a/v sync solution. Now can play high fps video better than ANY
other players.
- DXVA: enable HEVC decoder if libavcodec runtime supports. LAVFilters
ffmpeg supports it.
- Cedarv improvements, nv12 output support, neon code from libvdpau-
sunxi
- Multiple OpenAL instances support
- AVInput class to extend media sources. Support play from qrc resouces.
- Display the first frame after seek
- Better clock error correction
- Fix play frame by frame issues
- Fix QML video shake
- More details for error signals
- Apply user options in the next playback
- Dynamic load libass (submodule 'capi' is required)
- VA-API: fix blurred bottom line issue. works on libav >= 9 now.
- Progress is start at 0 by default even if 1st pts is not 0.
- Fix capture issues: capture current displayed frame, easier api
- RGB48 support. OpenGL only supports RGB48LE.
- Link to static ffmpeg support
- Fix open error if input url/path contains special charactors
v1.4.2
2014-12-27 23:43:37 +08:00
wang-bin 2c5f3f62f6 define qtav version in project file only once. copy mkspecs for ifw
qt5 can use .qmake.conf in project root to store default configurations.
qt4 use .qmake.cache instead
2014-12-27 14:52:25 +08:00
wang-bin 9141befa26 link to static ffmpeg for gcc. old glibc compat option
lib names order is important. additional libs must be added.
clock_gettime in ffmpeg may be resolved as glibc2.17 symbol, while it's
only in librt on old OSes, like ubuntu 12.04. add -lrt can solve it.
2014-12-27 14:08:27 +08:00
wang-bin d86dfeb23f add missing avfilter info 2014-12-26 16:27:15 +08:00
wang-bin 8ffe5017a2 submodule update 2014-12-26 16:19:52 +08:00
wang-bin d15a4876a8 simplify pro 2014-12-26 13:46:42 +08:00
wang-bin fe60f6362f build ffmpeg add ios, disable useless options 2014-12-26 13:30:31 +08:00
wang-bin 69cb9a5dc9 examples: player remove duplicated play list items and display correct 2014-12-25 15:42:16 +08:00
wang-bin ca9639e379 examples: osx file associate 2014-12-25 15:15:08 +08:00
wang-bin ab45d04e5d play next frame always no frame drop
Otherwise the result maybe wrong if video is slow and video will not
paused after a frame is displayed. set clock type to VideoClock can
solve the problem. But audio maybe too fast(video is too slow) and video
will skip many frames to sync to audio if normal playback is resumed.
2014-12-24 21:52:03 +08:00
wang-bin b3a3893045 fix wrong rgb48 enum 2014-12-24 17:55:01 +08:00
wang-bin a2df3ec274 rename AVClock.videoPts to videoTime 2014-12-24 17:39:40 +08:00
wang-bin 4d138021a0 move waitAndCheck to AVThread for common use 2014-12-24 17:36:56 +08:00
wang-bin 4b12ba6196 example: add android files for QMLPlayer 2014-12-24 13:41:33 +08:00
wang-bin 8594503f4d log message. ffmpeg log level 2014-12-23 22:23:45 +08:00
wang-bin 4b0959d8e4 example: add clock option 2014-12-23 16:35:46 +08:00
wang-bin f918212b6d add VideoClock type. sync to video timestamp is possible if no audio
no frame drop.
TODO: if has audio, resample audio
2014-12-23 16:21:07 +08:00
wang-bin e0df0c7513 move frame() to ffmeg decoder 2014-12-23 13:33:43 +08:00
wang-bin 3d616ebee8 mac: add libs to link against static ffmpeg 2014-12-22 22:30:31 +08:00
wang-bin 0898239eaf add ffmpeg decoder base class. restrict base ctor as private 2014-12-22 22:19:44 +08:00
wang-bin 2e23d1ea29 subtile: set correct pts & duration for ffmpeg>=2.5 ass decoder
otherwise the decoded duration is wrong. ass decoder changed
2014-12-22 20:32:33 +08:00
wang-bin 35f6c598c3 dxva: check ffmpeg runtime support for hevc
currently hevc dxva2 is not supported by ffmpeg. only lavfilters ffmpeg
support
2014-12-21 22:06:23 +08:00
wang-bin d0f6df7a62 videocapture: check frame data. fix qimage not created if no sav 2014-12-21 15:55:06 +08:00
wang-bin 0f19822b03 VideoFrame.clone() only copy properties if a frame has no valid data 2014-12-21 15:53:58 +08:00
wang-bin 6dc6fc7733 videocapture: wait for done if app is exiting. 2014-12-21 14:36:13 +08:00
wang-bin cac9ecdc83 videocapture: add convenience signal to get QImage 2014-12-21 13:27:17 +08:00
wang-bin b89f536961 examples: add video capture example 2014-12-20 20:12:27 +08:00
wang-bin ad59257089 videocapture: capture current displayed frame. code clean up. api change
old implemention was the next frame will be captured.
2014-12-20 20:09:55 +08:00
wang-bin ecc67c1d79 fix wrong capture result if playback is paused 2014-12-20 15:35:10 +08:00
wang-bin 479a4b6e02 do not quit video thread before decode and display
if a video has only 1 frame(an image), then stop state may be set before
frame is delivered to renderers and nothing will be displayed.
2014-12-19 19:53:04 +08:00
wang-bin 6ae25de637 gl: pixel format and gl mapping fix for dynamic gl 2014-12-19 19:05:19 +08:00
wang-bin fade1e4669 rgb48 support. only desktop gl 2014-12-19 18:04:41 +08:00
wang-bin f0cc7e2c03 gl: fix rgba32 display. fix wrong bpp computation 2014-12-19 17:11:27 +08:00
wang-bin 905a23d8ae ffmpeg hwa decoder base class is only for internal use 2014-12-18 18:36:29 +08:00
wang-bin 0448f7db76 add default VideoOutput ctor to choose best renderer 2014-12-18 14:28:21 +08:00
wang-bin 78ea5a4020 remember dict options for ffmpeg contexts
the valid dict entries will be removed after the context open
2014-12-18 13:41:52 +08:00
wang-bin b3b723af7b videooutput always check whether it renderer is available 2014-12-17 23:01:13 +08:00
wang-bin f66861a067 example: simpleplayer add simple ui 2014-12-17 22:57:05 +08:00
wang-bin 7b7d2a1ca6 dxva: enable hevc. must use lavfilters' ffmpeg now 2014-12-17 22:20:40 +08:00
wang-bin 861edfd94c fix wrong plane size check 2014-12-17 17:31:49 +08:00
wang-bin 421dc5df7f players: set opengl backend in command line or app name 2014-12-17 16:50:25 +08:00
wang-bin 5817a6173b fix fps computation 2014-12-17 16:04:04 +08:00
wang-bin 17fcae257b add Frame.swap(). check planeCount 2014-12-17 15:06:08 +08:00
wang-bin 79e1d63153 copy timestamp & metadata in VideoFrame.clone(). reserve necessary size 2014-12-17 15:04:08 +08:00
wang-bin fcb74a30cd forgot to decrease slow number 2014-12-16 22:40:29 +08:00
wang-bin 7f200eb72c set timestamp in decoder
old api decode(QByteArray) will not work. additonal timestamp parameter
is required
2014-12-16 21:46:44 +08:00
wang-bin 46f8861a33 decode() use Packet as parameter 2014-12-16 19:43:11 +08:00
wang-bin 941a499e2d ci: update ffmpeg. old ones result in link error 2014-12-15 22:02:54 +08:00
wang-bin 32fc5d371f use decoder option ptr and less var 2014-12-15 21:54:38 +08:00
wang-bin 2dd4817acb build error 2014-12-15 00:40:37 +08:00