Commit Graph
69 Commits
Author SHA1 Message Date
wang-bin 8595a4bc39 set color range for sws
this can fix output black rgb frame from yuv seems gray
2016-05-22 14:02:47 +08:00
wang-bin 6260d083fe gl: fix rendering frames that have different effective bytes ratio
big_buck_bunny_480p_h264.mov
padded, effective
896,    853
448,    427
448,    427
2016-04-09 15:33:49 +08:00
wang-bin 0ccdff3eb6 remove deprecated apis 2016-03-10 18:22:17 +08:00
wang-bin 2105182c42 add VideoFrame.colorRange. set from ffmpeg decoder
not set if a frame is converted. so no range transform in
ColorTransform.
TODO: ImageConverter set correct range, and set range in
VideoFrame.convert()
2016-02-17 12:15:34 +08:00
wang-bin d286652f53 typo 2016-02-16 23:05:54 +08:00
wang-bin 75bacf9d87 fix wrong VideoFrame.planeWidth 2016-02-14 12:31:36 +08:00
wang-bin 4a9e705365 VideoFrame: remove useless functions
May add an api to create from textures, an interop object will be used
internally. To get the texture, we can use like this
map(SourceSurface,...)
2016-01-14 16:50:51 +08:00
wang-bin 4d9ac64ba3 VideoFrame: hold & add ref of qimage from ctor
No data copy. The old code does not add qimage so qimage may be
destroyed unexcepted
2016-01-14 16:31:43 +08:00
wang-bin 5f0a69e16b video frame can map to a different format
add VideoFrame.mapFormat(SurfaceType) and use in renderer?
2015-12-29 22:05:02 +08:00
wang-bin 4a14fe73a9 remove useless functions 2015-10-19 14:15:44 +08:00
wang-bin ceb02d2ccc add VideoFrame.copyPlane and used by x11/xv renderer 2015-10-10 00:48:02 +08:00
wang-bin dc3ba1c017 VideoFrame: check dest format & size in to(). remove 1 ctor 2015-09-23 14:13:32 +08:00
wang-bin 665f1d9bd6 qstring optimize & QT_NO_CAST_FROM_ASCI build error part2
QLatin1String:
- QString has override function && no implicitly convert to QString:
indexof,contains,==,insert,append,prepend,
+=,replace,compare,<,startswith,endswith
- not from a raw string
2015-08-08 20:49:22 +08:00
wang-bin a0e831691c bits()=>constBits() to avoid potential copy 2015-07-29 01:26:02 +08:00
wang-bin 05e6e8e934 display aspect ratio for ff decoders
1/1 is ignored
TODO: SAR is better
2015-07-28 23:47:14 +08:00
wang-bin 678b4fccfd undefine PixelFormat in AVCompat.h
conflict with VideoFormat::PixelFormat only when ffmpeg header is used,
so move to AVCompat.h is better
2015-07-20 20:48:12 +08:00
wang-bin 086a598253 vo: sourceAspectRatio property. #481
it's frame DAR
2015-07-17 01:23:59 +08:00
wang-bin f76c89c312 simplify VideoFrame.toImage 2015-07-02 18:21:25 +08:00
wang-bin bd257ec4a3 vda: simd copy back from gpu to map to host memory
gpu copy with cache may crash, new function does not
2015-06-27 02:42:19 +08:00
wang-bin e1879aa0bc a convenience func to make host video frame from gpu 2015-06-27 02:15:46 +08:00
wang-bin e11f278153 convert hw surface in converter
TODO: check hw surface support in VideoThread before deliver, or check
and convert in renderer.
map(HostSurface...) should use optimized copy
2015-06-25 23:47:09 +08:00
wang-bin 617c12cbf0 capture video frames from hw decoder support 2015-06-05 15:04:46 +08:00
wang-bin 0dab685600 copy more properties to converted frame 2015-05-12 17:46:26 +08:00
wang-bin a9b4b4c1d0 add a function to create interop handle 2015-04-09 23:12:52 +08:00
wang-bin d13fbcb6ea fix wrong color space for a converted frame. #399 2015-03-20 10:29:07 +08:00
wang-bin 8522628b4b set color space for video frames
TODO: sws color space
2015-03-16 14:02:50 +08:00
sherpya 10d467a0b2 keep ffmpeg timestamp when converting frame 2015-02-05 18:25:31 +01:00
wang-bin 92c57fd68b move ImageConverter from public class to internal
use higher level VideoFrameConverter instead
2015-01-30 13:09:52 +08:00
wang-bin 1d066fb00a remove unsafe frame scale. add a converter class
VideoFrame::convertTo() will change itself but frame is shared
2015-01-30 12:36:11 +08:00
wang-bin 7147ff9409 frame ctor use private ptr instead of ref 2015-01-23 11:22:02 +08:00
wang-bin 34b53bc6bd rename VideoFrame.toFormat to VideoFrame.to 2015-01-09 00:25:09 +08:00
wang-bin 7b10dedb90 fix wrong converted video frame size 2015-01-09 00:15:23 +08:00
wang-bin 23f5a8bb43 add methods for VideoFrame to get a image or frame with another format
old convertTo() is a bad idea because VideoFrame now is explicitly
shared and will be removed
2015-01-08 23:04: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 79e1d63153 copy timestamp & metadata in VideoFrame.clone(). reserve necessary size 2014-12-17 15:04:08 +08:00
wang-bin 5525ad8ae5 async frame extract support
TODO: why do event and slots not works?
2014-10-25 23:49:20 +08:00
wang-bin bfdfc39a49 va: remove surface interop function in video frame. use metadata instead 2014-08-18 21:02:41 +08:00
wang-bin 64c791949d mv some non-public headers to private or other places. rename AVCompat.h 2014-07-26 15:29:35 +08:00
wang-bin 98383048c0 introduce channelCount for Audio/VideoFrame 2014-06-29 21:50:55 +08:00
wang-bin 50c6582f85 gl: support texture mapped from va surface 2014-06-24 23:04:08 +08:00
wang-bin 1c875560ac surface interop support for video frame.
a video frame may be contains things on gpu, no host memory buffer, then
we may render the frame directly by converting the frame to renderer
supported hanle, such as gl texture
2014-06-24 01:20:43 +08:00
wang-bin 31e8c3592c audio frame copy 2014-06-21 22:27:02 +08:00
Sandro Cavazzoni 6bfe0b27fc A better return value for VideoFrame::displayAspectRatio 2014-05-01 15:18:26 +02:00
Sandro Cavazzoni d739cc27bd Rename VideoFrame::aspectRatio to VideoFrame::displayAspectRatio 2014-05-01 15:16:17 +02:00
Sandro Cavazzoni 4b76e67b9f Use the pixel aspect ratio for calculate the real aspect ratio 2014-04-29 22:24:43 +02:00
wang-bin cbb78a20aa add prefix QtAV to all include to avoid potential build error
why it happens? e.g. meego toolchain
2014-03-18 12:44:47 +08:00
wang-bin c94dbb8e4b build error for old ffmpeg.
avpicture_fill 2nd is not const in some versions.
2014-03-10 19:18:33 +08:00
wang-bin 529dc2767c data()=>constData() to avoid potential copy 2014-03-09 23:18:51 +08:00
wang-bin a1151eb8fc fix QByteArray out of bounds error in Qt4
call data() before shared is ok. otherwise the real data in may be
changed
2014-03-07 16:34:38 +08:00
wang-bin da1cb8e1ad fix VideoFrame clone error
memory allocated by ffmpeg may has the different size with the data to
copy
2014-03-07 13:46:38 +08:00