Commit Graph
54 Commits
Author SHA1 Message Date
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
wang-bin de792ce334 video capture supports yuv 2014-03-05 00:46:51 +08:00
wang-bin 2cb6cfeb7a effective and padded line sizes for a video frame 2014-03-01 17:06:54 +08:00
wang-bin be8bec0a59 VideoFrame.init should be private 2014-02-24 00:28:05 +08:00
wang-bin 6bb0e6e07c initialize video frame's linesize and data ptrs in ctor 2014-02-23 21:04:51 +08:00
wang-bin 9b08e0c5b2 mark frame invalid if convert failed 2014-02-15 19:51:22 +08:00
wang-bin a9b083e0f1 return correct VideoFrame::planeCount
TODO:
resize ImageConverter.outPlanes()?
2014-02-12 10:18:56 +08:00
wang-bin f06677b38c VideoFrame create from QImage without deep copy 2013-12-25 23:48:01 +08:00
wang-bin b3d8a09570 const members 2013-12-19 11:22:25 +08:00
wang-bin a1bf623fd0 optimize frame copy
TODO: use sse(lavf, vlc...)
http://software.intel.com/en-us/articles/copying-accelerated-video-
2013-12-12 18:50:56 +08:00
wang-bin 27e939aeab add VideoFormat.chromaWidth/Height. allow Frame allocate and clone 2013-12-12 01:38:03 +08:00
wang-bin 4271013608 fix wrong pixel format init and wrong process in qpainter filter 2013-11-15 12:44:54 +08:00
wang-bin 094c66ac5c convenience functions for VideoFormat 2013-11-11 22:41:15 +08:00
wang-bin 70a810817a fix wrong video format. add image format 2013-11-10 14:47:06 +08:00
wang-bin 5673c164c9 use VideoFormat in VideoFrame. All parameters are computed by FFmpeg 2013-11-09 21:35:42 +08:00
wang-bin 81ed10da38 fix bpp error. add ffmpeg pixel format convertion 2013-11-02 22:44:06 +08:00