wang-bin
e898e6af15
no stl types that break abi
...
most algorithms and containers are fine. no std::string, exception
2015-09-13 20:29:21 +08:00
wang-bin
96714b49e7
graphicsitem: check glcontext only in rendering thread. fix debug crash
...
the old code checks gl context in decoder thread and get false at the
first call. then the frame is not set in openglvideo but still be
rendered. the result is VideoMaterial::mapToTexture
crash(texture_size[0] invalid)
2015-09-12 20:48:23 +08:00
wang-bin
7d014b6c05
vaapi: fix build with old va.h on travis-ci
2015-09-12 17:42:49 +08:00
wang-bin
ce8993d1dd
ci: disable osx dmg upload because it can not run
2015-09-12 11:17:51 +08:00
wang-bin
6801a6f603
vaapi: also test context to check resolution support
2015-09-12 11:14:56 +08:00
wang-bin
43bdf14ebc
example player: avoid reopen decoder in play()
2015-09-11 18:19:38 +08:00
wang-bin
1c83cf3c9b
vaapi: check resolution support before codec open
...
if no check, open ok but get_format error, get_buffer2 will still be
called
2015-09-11 15:13:50 +08:00
wang-bin
2ce809beca
vaapi: create surfaces later to get used threads
...
thread type is depending on format. for example mpeg2 use single thread
by ffmpeg
2015-09-11 15:08:56 +08:00
wang-bin
a5d59cd51b
va: remove unnecessary setup() check
...
assume parameters do not change in the same stream. setup() is already
called in getFormat()
2015-09-11 12:03:47 +08:00
wang-bin
915ef8c561
remove unnecessary include
2015-09-11 11:57:40 +08:00
wang-bin
11ea2358a0
vaapi: correctly increase surfaces. code cleanup
...
vdpau backend: surface height>=frame height for glx interoperation and
gl renders a gray bottom line
2015-09-10 13:43:25 +08:00
wang-bin
fc6a40f171
vaapi: more profiles (hevc,vpx)
2015-09-10 09:50:40 +08:00
wang-bin
b479de61a9
forgot to initialize some members
2015-09-09 22:31:44 +08:00
WangBin
00d75c39ee
Merge pull request #506 from Lexerys/hotfix-crash_no_audio
...
fixed a crash when the audio decoder failed to create
2015-09-09 21:12:11 +08:00
wang-bin
95688bae72
vaapi: fallback to main profile if constrained baseline isn't supported
2015-09-09 19:52:27 +08:00
wang-bin
8315e2115f
vaapi: correctly check thread_count and increase default surface count
...
increasing the surface count should fix mpeg4 multi-thread decoding
using vaapi(single thread decoding is fine). a better solution is use a
surface pool and enlarge the pool when necessary. createSurfaces in my
code will recreate va context and that's unreasonable(crash!)
thread_count is checked before avcodec_open2. If user does not set it,
the default value is 0 and thread_type is FRAME|SLICE, which means
ffmpeg will try to enable threaded decoding and update the thread_count.
So thread_count is always 0 unless we set a >0 value, for example, 1 to
disable threaded decoding
TODO: update thread_count check in DXVA
2015-09-09 19:22:54 +08:00
wang-bin
f5250b5f06
vaapi: fix wrong surface size check
2015-09-09 17:58:21 +08:00
wang-bin
fe447f098d
vaapi: do not release tex image in unmap to fix black display if paused
2015-09-09 17:39:31 +08:00
lexerys
33b07a67b4
fixed a crash when the audio decoder failed to create
2015-09-09 11:28:47 +04:00
wang-bin
fdd23cda3c
gl: can not upload texture if hw frame map failed
2015-09-08 17:57:58 +08:00
wang-bin
ce68ecec33
vaapi: fix vdpau backend(nv gpu tested) crash and no display
...
If vaPutSurface failed and return false, gl renderer will try to upload
an invalid texture then crash. This should be fixed in VideoShader
(detect hw surface) in the following commits
no display: glx create an rgba(32bpp) pixmap from a 24 bpp x11 pixmap.
intel works fine but nv does not
2015-09-08 17:57:14 +08:00
wang-bin
b2a45973ba
vaapi: fix vdpau backend copy mode crash. create surfaces in open
...
vaGetImage surface size must match
if no surface created in open, ffmpeg will create 1 in threaded
getBuffer()
2015-09-08 15:10:46 +08:00
wang-bin
3b342f6c09
vda: AVFrame.data[0] must not be null
2015-09-08 12:38:00 +08:00
wang-bin
7055adb6bd
try AVCodecDescriptor.name to find the codec
2015-09-06 16:37:20 +08:00
wang-bin
d6a8db7cb1
sub: try to support embedded text subtitles by ffmpeg
...
TODO: bitmap subtitles(pgs)
sometimes crash
2015-09-06 16:35:01 +08:00
WangBin
181c8ae0a1
Merge pull request #502 from Liberus/master
...
Fixed resize bug in VideoRenderer if only height or width changes
2015-09-05 13:12:04 +08:00
a.boichuk
8796faa0a6
Fixed resize bug in VideoRenderer if only height or width changes
2015-09-04 21:06:03 +03:00
wang-bin
e377e4d2ff
gl: compute less in glsl. less material types
...
TODO: to support both RG and LA format, vec3 can be used
2015-09-05 00:09:42 +08:00
wang-bin
514553a754
gles: fix broken bgra rendering since 53c5353
2015-09-04 01:00:51 +08:00
wang-bin
37f870b2f5
ci: enable osx for travis
2015-09-03 22:28:18 +08:00
wang-bin
33f3f5e6f2
gl: use macro HAS_ALPHA for fragment shaders
2015-09-03 18:53:29 +08:00
wang-bin
c8f5c2f4a9
gl: simplify video material type
2015-09-03 18:21:30 +08:00
wang-bin
8f8ae591fd
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
v1.8.0
2015-09-01 13:26:10 +08:00
wang-bin
d9c90dc668
qml: update plugins.qmltypes
2015-09-01 01:03:06 +08:00
wang-bin
9126e2c2fc
warnings etc
2015-09-01 00:02:08 +08:00
wang-bin
7d2c3181b0
use qimage with r/g swapped for bgr formats if not directly supported
2015-09-01 00:01:27 +08:00
wang-bin
9fe6c044a8
fix no opengl build
2015-08-31 23:36:44 +08:00
wang-bin
ed4fc0b469
gl: fix broken 8bit gbrp support
2015-08-30 21:48:14 +08:00
wang-bin
44e9cc1c4b
rgba64 build error for libav
2015-08-30 18:40:01 +08:00
wang-bin
78155d59fc
gl: add rgba 64 le support. only desktop supports 48/64
...
bgrX: rgbX+bgrX for gl.
gles has not GL_UNSIGNED_SHORT so does not support those formats
2015-08-30 00:46:34 +08:00
wang-bin
edeb852df9
gl: fix broken alpha image rendering
2015-08-30 00:05:23 +08:00
wang-bin
42c1ceae13
add rgba64, 0rgb formats
...
0rgb still use rgba formats because we can check hasAlpha. libav use
rgba too
2015-08-29 23:46:55 +08:00
wang-bin
53c5353203
gl: fix bgra on osx
...
use channel map is fine too
2015-08-29 23:40:00 +08:00
wang-bin
9e88c423c8
vo: clean up api
2015-08-29 15:21:25 +08:00
wang-bin
79362de766
check FF_API_R_FRAME_RATE
2015-08-29 01:50:43 +08:00
wang-bin
07316c35d5
gl: fix >8bits/component yuv/rgb support
2015-08-27 02:14:56 +08:00
wang-bin
7e4b98f5a2
fix array_size error for local types
2015-08-26 23:58:09 +08:00
wang-bin
b6bfe8f4fd
gl: fix packed yuv format channel mapping
2015-08-26 22:12:31 +08:00
wang-bin
f0263ab3a8
gl: unify video format=>gl parameters code
2015-08-26 22:05:37 +08:00
wang-bin
655c336f90
channels of plane and channel size information for video format
2015-08-26 21:55:52 +08:00