magjed@webrtc.org
c8895aa2f3
Unify underlying frame buffer in I420VideoFrame and WebRtcVideoFrame
...
Currently, I420VideoFrame uses three webrtc::Plane to store pixel data, and WebRtcVideoFrame uses WebRtcVideoFrame::FrameBuffer/webrtc::VideoFrame. The two subclasses WebRtcTextureVideoFrame and TextureVideoFrame use a NativeHandle to store pixel data, and there is also a class WebRtcVideoRenderFrame that wraps an I420VideoFrame.
This CL replaces these classes with a new interface VideoFrameBuffer that provides the common functionality. This makes it possible to remove deep frame copies between cricket::VideoFrame and I420VideoFrame.
Some additional minor changes are:
* Disallow creation of 0x0 texture frames.
* Remove the half-implemented ref count functions in I420VideoFrame.
* Remove the Alias functionality in WebRtcVideoFrame
The final goal is to eliminate all frame copies, but to limit the scope of this CL, some planned changes are postponed to follow-up CL:s (see planned changes in https://webrtc-codereview.appspot.com/38879004 , or https://docs.google.com/document/d/1bxoJZNmlo-Z9GnQwIaWpEG6hDlL_W-bzka8Zb_K2NbA/preview ). Specifically, this CL:
* Keeps empty subclasses WebRtcTextureVideoFrame and TextureVideoFrame, and just delegates the construction to the superclass.
* Keeps the deep copies from cricket::VideoFrame to I420VideoFrame.
BUG=1128
R=mflodman@webrtc.org , pbos@webrtc.org , perkj@webrtc.org , tommi@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/42469004
Cr-Commit-Position: refs/heads/master@{#8580}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8580 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-03 21:22:26 +00:00
..
2015-02-10 22:47:14 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-10-09 22:08:15 +00:00
2015-02-09 14:19:39 +00:00
2014-05-13 18:00:26 +00:00
2015-01-29 08:54:17 +00:00
2015-01-29 08:54:17 +00:00
2015-01-29 08:54:17 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-10-09 22:08:15 +00:00
2015-02-09 14:19:39 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-12 11:55:32 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-01-16 17:52:53 +00:00
2015-02-26 14:01:28 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-12 11:55:32 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-11 14:31:19 +00:00
2015-02-26 14:01:28 +00:00
2014-05-13 18:00:26 +00:00
2015-02-12 11:55:32 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-09-10 03:24:36 +00:00
2015-03-03 21:22:26 +00:00
2014-06-23 16:15:27 +00:00
2015-02-12 11:55:32 +00:00
2014-06-27 15:49:02 +00:00
2014-10-09 22:08:15 +00:00
2014-05-15 16:33:04 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-10-09 22:08:15 +00:00
2015-02-28 00:01:56 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-17 21:23:13 +00:00
2014-05-13 18:00:26 +00:00
2015-02-12 11:55:32 +00:00
2014-05-13 18:00:26 +00:00
2015-02-12 11:55:32 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-10 12:28:12 +00:00
2015-02-10 12:28:12 +00:00
2014-07-16 21:28:26 +00:00
2014-07-16 21:28:26 +00:00
2014-07-16 21:28:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-08-11 14:32:13 +00:00
2014-05-13 18:00:26 +00:00
2015-01-05 17:56:33 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-10-10 08:36:56 +00:00
2014-10-10 08:36:56 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-08-28 16:28:26 +00:00
2014-05-14 18:24:13 +00:00
2014-11-20 22:28:14 +00:00
2014-05-13 18:00:26 +00:00
2014-09-04 09:55:40 +00:00
2014-09-28 11:36:45 +00:00
2014-11-06 17:23:09 +00:00
2014-05-13 18:00:26 +00:00
2015-02-12 11:55:32 +00:00
2015-01-28 18:38:13 +00:00
2014-05-13 18:00:26 +00:00
2015-02-12 11:55:32 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-12 11:55:32 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-16 16:54:44 +00:00
2014-05-13 18:00:26 +00:00
2014-08-27 10:17:22 +00:00
2014-05-14 18:24:13 +00:00
2014-05-13 18:00:26 +00:00
2015-03-01 23:45:42 +00:00
2015-03-01 23:45:42 +00:00
2014-09-09 23:42:40 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-06-17 14:48:44 +00:00
2014-05-13 18:00:26 +00:00
2014-08-21 14:49:28 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-08-04 21:51:14 +00:00
2014-08-04 21:51:14 +00:00
2014-08-04 21:51:14 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-10-09 22:08:15 +00:00
2015-02-12 11:55:32 +00:00
2014-07-14 22:03:57 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-09-03 22:53:34 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-10-09 22:08:15 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-14 18:24:13 +00:00
2014-05-14 18:24:13 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-11 14:31:19 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-21 02:00:26 +00:00
2015-02-21 02:00:26 +00:00
2015-02-09 14:19:39 +00:00
2014-12-19 14:35:57 +00:00
2014-05-13 18:00:26 +00:00
2015-02-12 11:55:32 +00:00
2014-05-13 18:00:26 +00:00
2014-10-09 22:08:15 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-27 18:42:46 +00:00
2015-02-27 18:42:46 +00:00
2015-02-27 18:42:46 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-11 22:35:30 +00:00
2015-02-11 22:35:30 +00:00
2015-02-09 14:19:39 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-01-22 23:06:17 +00:00
2014-12-29 23:00:14 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-08-28 16:28:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-28 01:41:49 +00:00
2015-02-28 01:41:49 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-08-28 16:03:58 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-10-09 22:08:15 +00:00
2015-02-12 11:55:32 +00:00
2014-05-13 18:00:26 +00:00
2014-10-10 08:36:56 +00:00
2014-10-10 08:36:56 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-06-17 14:37:05 +00:00
2015-02-12 11:55:32 +00:00
2014-05-13 18:00:26 +00:00
2014-10-09 22:08:15 +00:00
2014-05-13 18:00:26 +00:00
2014-05-23 18:40:46 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-12 11:55:32 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-21 13:23:46 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-12 11:55:32 +00:00
2015-01-14 10:51:54 +00:00
2014-12-17 22:56:09 +00:00
2015-02-12 11:55:32 +00:00
2015-01-07 18:01:07 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-11 14:31:19 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-14 18:24:13 +00:00
2014-05-14 18:24:13 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-10-09 22:08:15 +00:00
2015-02-09 14:19:39 +00:00
2014-09-24 07:10:57 +00:00
2014-10-09 22:08:15 +00:00
2014-05-13 18:00:26 +00:00
2014-09-24 07:10:57 +00:00
2014-05-13 18:00:26 +00:00
2014-12-12 02:44:30 +00:00
2014-05-13 18:00:26 +00:00
2014-06-05 20:40:11 +00:00
2014-06-05 20:40:11 +00:00
2014-06-05 20:40:11 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-12 11:55:32 +00:00
2014-09-10 22:10:24 +00:00
2014-07-10 22:47:02 +00:00
2014-09-10 22:10:24 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-09 14:19:39 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-12-29 23:00:14 +00:00
2014-05-13 18:00:26 +00:00
2014-12-29 23:00:14 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-09-28 11:36:45 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-14 18:24:13 +00:00
2015-01-07 18:01:07 +00:00
2014-05-13 18:00:26 +00:00
2015-02-11 22:35:30 +00:00
2015-02-11 22:35:30 +00:00
2015-02-11 22:35:30 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-10-09 12:47:15 +00:00
2015-02-12 11:55:32 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-09-16 01:03:29 +00:00
2014-09-16 01:03:29 +00:00
2014-05-13 18:00:26 +00:00
2014-09-16 01:03:29 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-09-04 04:59:52 +00:00
2014-05-13 18:00:26 +00:00
2014-10-09 22:08:15 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-11 14:31:19 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-01-13 20:32:04 +00:00
2014-05-13 18:00:26 +00:00
2014-10-09 22:08:15 +00:00
2015-02-07 22:38:16 +00:00
2015-02-07 22:38:16 +00:00
2014-05-13 18:00:26 +00:00
2015-02-12 11:55:32 +00:00
2014-09-24 06:05:00 +00:00
2015-02-07 19:18:16 +00:00
2015-02-07 19:18:16 +00:00
2015-02-07 19:18:16 +00:00
2014-06-16 11:34:44 +00:00
2014-10-15 14:54:56 +00:00
2014-09-26 16:57:07 +00:00
2015-02-09 14:19:39 +00:00
2014-05-21 20:42:17 +00:00
2014-09-16 01:03:29 +00:00
2014-05-21 20:42:17 +00:00
2014-07-08 12:48:29 +00:00
2014-07-08 12:48:29 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-09-28 11:36:45 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-14 18:24:13 +00:00
2014-09-10 22:10:24 +00:00
2014-05-14 18:24:13 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-18 18:44:14 +00:00
2015-02-14 00:44:20 +00:00
2014-12-18 04:45:05 +00:00
2015-02-17 19:01:14 +00:00
2015-02-17 19:01:14 +00:00
2014-11-11 18:15:55 +00:00
2015-01-22 17:44:19 +00:00
2015-01-22 17:44:19 +00:00
2015-01-14 09:03:16 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-12 11:55:32 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-09-16 01:03:29 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-08-18 20:55:58 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2015-02-12 11:55:32 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-05-13 18:00:26 +00:00
2014-08-15 14:44:13 +00:00
2015-02-12 11:55:32 +00:00
2014-08-15 14:44:13 +00:00