magjed
5a8724564c
iOS: Optimize video scaling and cropping
...
This CL makes scaling and cropping lazy in AVFoundationVideoCapturer and
provides optimized paths for SW and HW encoding. For SW encoding, an
efficient NV12 -> I420 cropping and scaling is implemented in
CoreVideoFrameBuffer::NativeToI420. For HW encoding, an efficient NV12 ->
NV12 cropping and scaling is implemented in
CoreVideoFrameBuffer::CropAndScaleTo. The performance improvement over
the existing cropping and scaling is that it is now done in one step
instead of making an intermediary copy of the Y plane.
There might still be room for improvement in the HW path using some HW
support. That will be explored in a future CL.
BUG=b/30939444
Review-Url: https://codereview.webrtc.org/2394483005
Cr-Commit-Position: refs/heads/master@{#14701}
2016-10-20 10:34:32 +00:00
..
2016-09-01 13:15:12 +00:00
2016-10-20 10:34:32 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-08-30 18:56:09 +00:00
2016-08-30 18:56:09 +00:00
2016-08-30 18:56:09 +00:00
2016-08-30 18:56:09 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-09-01 22:34:12 +00:00
2016-06-09 10:18:35 +00:00
2016-05-06 23:10:51 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-08-17 23:03:09 +00:00
2016-09-02 10:37:02 +00:00
2016-05-01 21:53:55 +00:00
2016-08-10 14:58:35 +00:00
2016-05-01 21:53:55 +00:00
2016-05-15 02:44:18 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-09-09 08:36:32 +00:00
2016-09-09 08:36:32 +00:00
2016-04-27 08:54:27 +00:00
2016-08-30 19:35:11 +00:00
2016-05-15 02:44:18 +00:00
2016-08-30 18:56:09 +00:00
2016-08-30 18:56:09 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-04-29 22:30:24 +00:00
2016-05-15 02:44:18 +00:00
2016-06-08 11:59:24 +00:00
2016-06-08 11:59:24 +00:00
2016-06-08 11:59:24 +00:00
2016-08-10 14:58:35 +00:00
2016-04-27 08:54:27 +00:00
2016-08-08 10:10:12 +00:00
2016-04-27 08:54:27 +00:00
2016-08-08 10:10:12 +00:00
2016-09-09 08:36:32 +00:00
2016-04-27 08:54:27 +00:00
2016-06-08 20:31:54 +00:00
2016-09-09 08:36:32 +00:00
2016-08-30 19:58:14 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-05-16 18:40:38 +00:00
2016-05-16 18:40:38 +00:00
2016-05-16 18:40:38 +00:00
2016-05-16 18:40:38 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-08-08 10:10:12 +00:00
2016-08-10 14:58:35 +00:00
2016-08-10 14:58:35 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-04-27 08:54:27 +00:00
2016-08-10 14:58:35 +00:00
2016-08-10 14:58:35 +00:00
2016-04-27 08:54:27 +00:00
2016-09-06 14:52:47 +00:00
2016-04-27 08:54:27 +00:00
2016-08-30 18:56:09 +00:00
2016-08-30 18:56:09 +00:00
2016-10-05 20:16:07 +00:00
2016-04-27 08:54:27 +00:00
2016-07-28 21:53:01 +00:00