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

Issue 11269017: Plumb through cropped output size for VideoFrame (Closed)

Created:
8 years, 2 months ago by sheu
Modified:
8 years, 1 month ago
CC:
chromium-reviews, joi+watch-content_chromium.org, feature-media-reviews_chromium.org, cc-bugs_chromium.org, jam, darin-cc_chromium.org, skaslev
Base URL:
https://git.chromium.org/git/chromium/src@git-svn
Visibility:
Public.

Description

Plumb through cropped output size for VideoFrame The video playback path needs to be able to handle cropped video frames, e.g. for HW decoders that output to macroblock-rounded buffer sizes. * Composite only the visible subrect from WebVideoFrame in cc::VideoLayerImpl * Remove some extraneous cropping logic from cc::VideoLayerImpl now that we have exact cropping info. * media::VideoFrame replaces "data_size_" member with "coded_size_", and adds a "visible_rect_" gfx::Rect to indicate the sub-rect of the entire frame that should be visible (after cropping) * Associated changes to various decoder/capture pipelines to plumb this through. TEST=build, run on x86, ARM BUG=155416, 140509, chrome-os-partner:15230 Change-Id: I284bc893959db427bc9ae677aed8b07292d228ae Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=166988

Patch Set 1 #

Total comments: 25

Patch Set 2 : Update. #

Total comments: 10

Patch Set 3 : Final update? #

Patch Set 4 : #

Total comments: 4

Patch Set 5 : Now with passing unittest!wq #

Total comments: 4

Patch Set 6 : Formatting/comment fixes. #

Patch Set 7 : Rebase. #

Patch Set 8 : Done. #

Patch Set 9 : More tests I didn't know existed. #

Patch Set 10 : Clang and style checker fix #

Patch Set 11 : rebase #

Patch Set 12 : Found the windows failure, and fixed it. Thanks akalin@ #

Unified diffs Side-by-side diffs Delta from patch set Stats (+572 lines, -282 lines) Patch
M cc/draw_quad_unittest.cc View 1 2 3 4 5 6 1 chunk +3 lines, -7 lines 0 comments Download
M cc/gl_renderer.cc View 1 2 3 4 5 6 1 chunk +1 line, -6 lines 0 comments Download
M cc/layer_tree_host_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 10 5 chunks +22 lines, -2 lines 0 comments Download
M cc/resource_provider.cc View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M cc/shader.h View 1 2 3 4 5 6 1 chunk +2 lines, -4 lines 0 comments Download
M cc/shader.cc View 1 2 3 4 5 6 5 chunks +12 lines, -19 lines 0 comments Download
M cc/video_layer_impl.h View 1 2 3 4 5 6 1 chunk +0 lines, -1 line 0 comments Download
M cc/video_layer_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 9 chunks +60 lines, -52 lines 0 comments Download
M cc/yuv_video_draw_quad.h View 1 2 3 4 5 6 7 8 9 2 chunks +20 lines, -3 lines 0 comments Download
M cc/yuv_video_draw_quad.cc View 1 2 3 4 5 6 7 8 9 1 chunk +22 lines, -3 lines 0 comments Download
M content/renderer/media/local_video_capture.cc View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M content/renderer/media/rtc_video_decoder.cc View 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/media/rtc_video_decoder_unittest.cc View 1 2 3 4 1 chunk +12 lines, -4 lines 0 comments Download
M content/renderer/media/rtc_video_renderer.cc View 1 chunk +1 line, -0 lines 0 comments Download
M media/base/video_decoder_config.cc View 1 chunk +2 lines, -1 line 0 comments Download
M media/base/video_frame.h View 9 chunks +28 lines, -15 lines 0 comments Download
M media/base/video_frame.cc View 1 2 9 chunks +34 lines, -23 lines 0 comments Download
M media/base/video_frame_unittest.cc View 1 2 3 4 5 chunks +23 lines, -19 lines 0 comments Download
M media/base/video_util_unittest.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M media/filters/ffmpeg_video_decoder.cc View 1 2 3 4 5 6 1 chunk +3 lines, -2 lines 0 comments Download
M media/filters/ffmpeg_video_decoder_unittest.cc View 1 2 3 4 5 6 1 chunk +6 lines, -4 lines 0 comments Download
M media/filters/gpu_video_decoder.h View 2 chunks +3 lines, -2 lines 0 comments Download
M media/filters/gpu_video_decoder.cc View 1 2 3 4 5 6 7 8 9 10 5 chunks +17 lines, -10 lines 0 comments Download
M media/filters/skcanvas_video_renderer.cc View 1 2 3 4 3 chunks +49 lines, -22 lines 0 comments Download
M media/filters/skcanvas_video_renderer_unittest.cc View 1 2 3 4 5 6 7 chunks +148 lines, -2 lines 0 comments Download
M media/filters/video_frame_generator.cc View 1 chunk +2 lines, -1 line 0 comments Download
M media/filters/video_renderer_base_unittest.cc View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M media/tools/player_wtl/view.h View 1 2 3 4 5 6 7 8 3 chunks +13 lines, -12 lines 0 comments Download
M media/tools/player_x11/gl_video_renderer.h View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -1 line 0 comments Download
M media/tools/player_x11/gl_video_renderer.cc View 1 2 3 4 5 6 7 8 3 chunks +13 lines, -6 lines 0 comments Download
M media/tools/player_x11/x11_video_renderer.h View 1 2 3 4 5 6 7 8 2 chunks +3 lines, -1 line 0 comments Download
M media/tools/player_x11/x11_video_renderer.cc View 1 2 3 4 5 6 7 8 6 chunks +25 lines, -22 lines 0 comments Download
M media/tools/scaler_bench/scaler_bench.cc View 1 2 3 4 5 6 7 8 2 chunks +4 lines, -2 lines 0 comments Download
M media/tools/shader_bench/cpu_color_painter.cc View 1 2 3 4 5 6 7 8 2 chunks +9 lines, -5 lines 0 comments Download
M media/tools/shader_bench/gpu_color_painter.cc View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -2 lines 0 comments Download
M media/tools/shader_bench/shader_bench.cc View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -1 line 0 comments Download
M webkit/media/android/webmediaplayer_android.cc View 1 2 3 4 5 6 1 chunk +2 lines, -2 lines 0 comments Download
M webkit/media/simple_video_frame_provider.cc View 1 chunk +1 line, -0 lines 0 comments Download
M webkit/media/webvideoframe_impl.h View 1 2 3 4 5 6 2 chunks +4 lines, -3 lines 0 comments Download
M webkit/media/webvideoframe_impl.cc View 1 2 3 4 5 6 3 chunks +12 lines, -18 lines 0 comments Download
M webkit/plugins/ppapi/content_decryptor_delegate.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 21 (0 generated)
sheu
PTAL. A lot of one-line-in-file changes due to changing interface.
8 years, 2 months ago (2012-10-24 22:49:36 UTC) #1
sheu
Also: I'm not sure how to test the YUV path. Suggestions welcome.
8 years, 2 months ago (2012-10-24 22:50:20 UTC) #2
jamesr
Some style nits - I think Ami or someone else more familiar with the video ...
8 years, 2 months ago (2012-10-25 00:26:34 UTC) #3
Ami GONE FROM CHROMIUM
I <3 this! I'm not competent to review anything involving GL, though. If enne@ begs ...
8 years, 2 months ago (2012-10-25 00:43:07 UTC) #4
jamesr
If you can explain how the code deleted from the GL paths is accounted for ...
8 years, 2 months ago (2012-10-25 01:02:47 UTC) #5
sheu
Updated, PTAL. I haven't added tests yet to SkCanvas. jamesr@: what do you mean by ...
8 years, 2 months ago (2012-10-25 01:53:53 UTC) #6
slavi
https://chromiumcodereview.appspot.com/11269017/diff/5002/cc/video_layer_impl.cc File cc/video_layer_impl.cc (right): https://chromiumcodereview.appspot.com/11269017/diff/5002/cc/video_layer_impl.cc#newcode174 cc/video_layer_impl.cc:174: WebKit::WebRect visibleRect = m_frame->visibleRect(); I have a pending CL ...
8 years, 1 month ago (2012-10-25 04:44:31 UTC) #7
slavi
On 2012/10/25 04:44:31, slavi wrote: > I have a pending CL http://codereview.chromium.org/11274017/ that switches > ...
8 years, 1 month ago (2012-10-25 05:38:27 UTC) #8
Ami GONE FROM CHROMIUM
LGTM % nits, and assuming this actually fixes the bugs you linked to :) (note ...
8 years, 1 month ago (2012-10-25 17:13:33 UTC) #9
sheu
One more draft. This time also including unittests for SkCanvasVideoRendererTest. http://codereview.chromium.org/11269017/diff/1/media/base/video_frame.cc File media/base/video_frame.cc (right): http://codereview.chromium.org/11269017/diff/1/media/base/video_frame.cc#newcode60 ...
8 years, 1 month ago (2012-10-25 21:44:13 UTC) #10
jamesr
lgtm http://codereview.chromium.org/11269017/diff/18001/cc/layer_tree_host_impl_unittest.cc File cc/layer_tree_host_impl_unittest.cc (right): http://codereview.chromium.org/11269017/diff/18001/cc/layer_tree_host_impl_unittest.cc#newcode2538 cc/layer_tree_host_impl_unittest.cc:2538: FakeVideoFrame() : m_textureId(0), m_visibleRect(0, 0, 4, 4) { ...
8 years, 1 month ago (2012-10-25 22:49:47 UTC) #11
sheu
Not good yet. I ported my commit over to my non-ChromeOS Chromium checkout and built ...
8 years, 1 month ago (2012-10-25 23:41:08 UTC) #12
Ami GONE FROM CHROMIUM
LGTM % you *believing* in the CL :) http://codereview.chromium.org/11269017/diff/18001/media/filters/skcanvas_video_renderer_unittest.cc File media/filters/skcanvas_video_renderer_unittest.cc (right): http://codereview.chromium.org/11269017/diff/18001/media/filters/skcanvas_video_renderer_unittest.cc#newcode113 media/filters/skcanvas_video_renderer_unittest.cc:113: // ...
8 years, 1 month ago (2012-10-26 02:46:52 UTC) #13
sheu
Just by way of update -- it's almost all there; only remaining issue is test ...
8 years, 1 month ago (2012-10-26 18:45:23 UTC) #14
sheu
Had to do a lot of unittest changing as well. Good news: they all pass ...
8 years, 1 month ago (2012-10-30 03:22:11 UTC) #15
Ami GONE FROM CHROMIUM
media/ still LGTM, though I'd appreciate it if Alpha could check/bless the YUV specifics in ...
8 years, 1 month ago (2012-10-30 05:51:43 UTC) #16
sheu
https://chromiumcodereview.appspot.com/11269017/diff/22001/media/filters/skcanvas_video_renderer_unittest.cc File media/filters/skcanvas_video_renderer_unittest.cc (right): https://chromiumcodereview.appspot.com/11269017/diff/22001/media/filters/skcanvas_video_renderer_unittest.cc#newcode144 media/filters/skcanvas_video_renderer_unittest.cc:144: 0, 0, 0, 0, 0, 0, 0, 0, 76, ...
8 years, 1 month ago (2012-10-30 09:16:49 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sheu@chromium.org/11269017/41001
8 years, 1 month ago (2012-11-06 04:46:24 UTC) #18
commit-bot: I haz the power
Sorry for I got bad news for ya. Compile failed with a clobber build on ...
8 years, 1 month ago (2012-11-06 05:10:17 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/sheu@chromium.org/11269017/46014
8 years, 1 month ago (2012-11-09 20:39:46 UTC) #20
commit-bot: I haz the power
8 years, 1 month ago (2012-11-09 22:01:24 UTC) #21
Change committed as 166988

Powered by Google App Engine
This is Rietveld 408576698