Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(470)

Issue 1316493004: Add support for converting I420 software frames into NV12 hardware frames (Closed)

Created:
5 years, 4 months ago by Andre
Modified:
5 years, 3 months ago
CC:
reveman, Aaron Boodman, abarth-chromium, ben+mojo_chromium.org, cc-bugs_chromium.org, chromium-reviews, danakj+watch_chromium.org, darin (slow to review), darin-cc_chromium.org, feature-media-reviews_chromium.org, jam, jbauman+watch_chromium.org, kalyank, mcasas+watch_chromium.org, ozone-reviews_chromium.org, piman+watch_chromium.org, posciak+watch_chromium.org, qsr+mojo_chromium.org, sievers+watch_chromium.org, viettrungluu+watch_chromium.org, wjia+watch_chromium.org, yzshen+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@snapshot
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add support for converting I420 software frames into NV12 hardware frames Enhance MaybeCreateHardwareFrame() to be able to create a NV12 hardware frame backed by a YUV_420_BIPLANAR GpuMemoryBuffer. This format uses low power than UYVY_422. This code path is not enabled yet. BUG=510260 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Patch Set 1 #

Patch Set 2 : Add test #

Patch Set 3 : Fix win_x64 build #

Total comments: 21

Patch Set 4 : For dcastagna #

Patch Set 5 : For dcastagna #

Patch Set 6 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+203 lines, -34 lines) Patch
M cc/resources/video_resource_updater.cc View 2 chunks +6 lines, -0 lines 0 comments Download
M cc/test/test_gpu_memory_buffer_manager.cc View 2 chunks +7 lines, -0 lines 0 comments Download
M components/view_manager/gles2/mojo_gpu_memory_buffer.cc View 2 chunks +7 lines, -0 lines 0 comments Download
M content/browser/gpu/browser_gpu_memory_buffer_manager.cc View 2 chunks +3 lines, -0 lines 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl.cc View 2 chunks +9 lines, -0 lines 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl_shared_memory.cc View 2 chunks +3 lines, -1 line 0 comments Download
M content/common/gpu/client/gpu_memory_buffer_impl_surface_texture.cc View 1 chunk +1 line, -0 lines 0 comments Download
M content/common/gpu/gpu_memory_buffer_factory_io_surface.cc View 3 chunks +8 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/image_factory.cc View 3 chunks +4 lines, -0 lines 0 comments Download
M gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M gpu/command_buffer/tests/gl_manager.cc View 2 chunks +7 lines, -0 lines 0 comments Download
M media/base/video_frame.cc View 1 chunk +3 lines, -1 line 0 comments Download
M media/renderers/mock_gpu_video_accelerator_factories.cc View 1 2 4 chunks +21 lines, -9 lines 0 comments Download
M media/video/gpu_memory_buffer_video_frame_pool.cc View 1 2 3 4 5 8 chunks +86 lines, -23 lines 0 comments Download
M media/video/gpu_memory_buffer_video_frame_pool_unittest.cc View 1 1 chunk +22 lines, -0 lines 0 comments Download
M ui/gfx/buffer_format_util.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M ui/gfx/buffer_types.h View 1 chunk +1 line, -0 lines 0 comments Download
M ui/gl/gl_image_io_surface.mm View 4 chunks +4 lines, -0 lines 0 comments Download
M ui/gl/gl_image_memory.cc View 5 chunks +5 lines, -0 lines 0 comments Download
M ui/gl/gl_image_ozone_native_pixmap.cc View 2 chunks +2 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (3 generated)
Andre
PTAL, this is just missing the non-overlay/shader part. I may your to help get that ...
5 years, 4 months ago (2015-08-24 22:50:22 UTC) #2
Daniele Castagna
On 2015/08/24 at 22:50:22, andresantoso wrote: > PTAL, this is just missing the non-overlay/shader part. ...
5 years, 4 months ago (2015-08-25 15:08:43 UTC) #3
reveman
I'd like to see this split into 3 patches. 1. Add YUV_420_BIPLANAR GpuMemoryBuffer format. 2. ...
5 years, 4 months ago (2015-08-25 15:17:03 UTC) #5
Andre
https://codereview.chromium.org/1316493004/diff/40001/cc/resources/video_resource_updater.cc File cc/resources/video_resource_updater.cc (right): https://codereview.chromium.org/1316493004/diff/40001/cc/resources/video_resource_updater.cc#newcode427 cc/resources/video_resource_updater.cc:427: if (mailbox_holder.mailbox.IsZero()) Yes, let me see if I can ...
5 years, 4 months ago (2015-08-25 18:19:57 UTC) #6
Andre
Sounds good.
5 years, 4 months ago (2015-08-25 18:20:28 UTC) #7
Andre
On 2015/08/25 15:17:03, reveman wrote: > I'd like to see this split into 3 patches. ...
5 years, 4 months ago (2015-08-25 18:20:47 UTC) #8
Andre
5 years, 4 months ago (2015-08-25 21:04:33 UTC) #9
https://codereview.chromium.org/1316493004/diff/40001/media/video/gpu_memory_...
File media/video/gpu_memory_buffer_video_frame_pool.cc (right):

https://codereview.chromium.org/1316493004/diff/40001/media/video/gpu_memory_...
media/video/gpu_memory_buffer_video_frame_pool.cc:230: first_row *
source_frame->stride(VideoFrame::kUPlane),
You're right, fixed.
There's also still an issue where #copies is twice too big in the case of NV12,
I will need to fix that.

Powered by Google App Engine
This is Rietveld 408576698