diff options
author | pdr <pdr@chromium.org> | 2015-03-13 21:25:43 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-03-14 04:26:17 +0000 |
commit | 9764be34e6e97a05a0bff5a4448a5ac56e735b85 (patch) | |
tree | b9169dab7f8cf2eb90c9b5fbff8e91bc01172646 /cc/quads | |
parent | d0d6442a16be07ae455682f7e1e207a35a80995b (diff) | |
download | chromium_src-9764be34e6e97a05a0bff5a4448a5ac56e735b85.zip chromium_src-9764be34e6e97a05a0bff5a4448a5ac56e735b85.tar.gz chromium_src-9764be34e6e97a05a0bff5a4448a5ac56e735b85.tar.bz2 |
Revert of Increase YUV video clamping (patchset #4 id:60001 of https://codereview.chromium.org/1008493002/)
Reason for revert:
I think this patch caused blink layouttest failures (e.g., media/video-colorspace-yuv420.html). See http://crbug.com/467283
Original issue's description:
> Increase YUV video clamping
>
> The current clamping is not enough to avoid bleeding issues. This is
> exposed when changing the background color in CreateEdgeBleedPass from
> black to gray. The reason it works now is because interpolating U/V
> textures from black (YUV = 0, 0, 0) to green (YUV = 149, 43, 21) will
> still result in saturated green pixels (RGB = 0, 255, 0). All YUV values
> in the range (149, 0-43, 0-21) will end up as RGB = (0, 255, 0).
>
> The current clamping is not enough, because the calculation
> '0.5f / quad->tex_size.width()' is using the Y texture size, the highest
> resolution plane, but the U/V texture size is only half of that. This CL
> changes tex_size to represent the lowest resolution texture instead.
>
> BUG=429640
>
> Committed: https://crrev.com/4be817dd606efdba1614d32608ddd6e16bfa687d
> Cr-Commit-Position: refs/heads/master@{#320567}
TBR=enne@chromium.org,danakj@chromium.org,wfh@chromium.org,magjed@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=429640,467283
Review URL: https://codereview.chromium.org/1007953003
Cr-Commit-Position: refs/heads/master@{#320642}
Diffstat (limited to 'cc/quads')
-rw-r--r-- | cc/quads/draw_quad_unittest.cc | 14 | ||||
-rw-r--r-- | cc/quads/yuv_video_draw_quad.cc | 10 | ||||
-rw-r--r-- | cc/quads/yuv_video_draw_quad.h | 6 |
3 files changed, 15 insertions, 15 deletions
diff --git a/cc/quads/draw_quad_unittest.cc b/cc/quads/draw_quad_unittest.cc index d60795d..5b5f0b9 100644 --- a/cc/quads/draw_quad_unittest.cc +++ b/cc/quads/draw_quad_unittest.cc @@ -641,7 +641,7 @@ TEST(DrawQuadTest, CopyYUVVideoDrawQuad) { gfx::Rect opaque_rect(33, 47, 10, 12); gfx::Rect visible_rect(40, 50, 30, 20); gfx::RectF tex_coord_rect(0.0f, 0.0f, 0.75f, 0.5f); - gfx::Size min_tex_size(32, 68); + gfx::Size tex_size(32, 68); ResourceProvider::ResourceId y_plane_resource_id = 45; ResourceProvider::ResourceId u_plane_resource_id = 532; ResourceProvider::ResourceId v_plane_resource_id = 4; @@ -650,25 +650,25 @@ TEST(DrawQuadTest, CopyYUVVideoDrawQuad) { CREATE_SHARED_STATE(); CREATE_QUAD_9_NEW(YUVVideoDrawQuad, opaque_rect, visible_rect, tex_coord_rect, - min_tex_size, y_plane_resource_id, u_plane_resource_id, + tex_size, y_plane_resource_id, u_plane_resource_id, v_plane_resource_id, a_plane_resource_id, color_space); EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); EXPECT_EQ(opaque_rect, copy_quad->opaque_rect); EXPECT_EQ(visible_rect, copy_quad->visible_rect); EXPECT_EQ(tex_coord_rect, copy_quad->tex_coord_rect); - EXPECT_EQ(min_tex_size, copy_quad->min_tex_size); + EXPECT_EQ(tex_size, copy_quad->tex_size); EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id); EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id); EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id); EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id); EXPECT_EQ(color_space, copy_quad->color_space); - CREATE_QUAD_7_ALL(YUVVideoDrawQuad, tex_coord_rect, min_tex_size, + CREATE_QUAD_7_ALL(YUVVideoDrawQuad, tex_coord_rect, tex_size, y_plane_resource_id, u_plane_resource_id, v_plane_resource_id, a_plane_resource_id, color_space); EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); EXPECT_EQ(tex_coord_rect, copy_quad->tex_coord_rect); - EXPECT_EQ(min_tex_size, copy_quad->min_tex_size); + EXPECT_EQ(tex_size, copy_quad->tex_size); EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id); EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id); EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id); @@ -898,7 +898,7 @@ TEST_F(DrawQuadIteratorTest, YUVVideoDrawQuad) { gfx::Rect opaque_rect(33, 47, 10, 12); gfx::Rect visible_rect(40, 50, 30, 20); gfx::RectF tex_coord_rect(0.0f, 0.0f, 0.75f, 0.5f); - gfx::Size min_tex_size(32, 68); + gfx::Size tex_size(32, 68); ResourceProvider::ResourceId y_plane_resource_id = 45; ResourceProvider::ResourceId u_plane_resource_id = 532; ResourceProvider::ResourceId v_plane_resource_id = 4; @@ -907,7 +907,7 @@ TEST_F(DrawQuadIteratorTest, YUVVideoDrawQuad) { CREATE_SHARED_STATE(); CREATE_QUAD_9_NEW(YUVVideoDrawQuad, opaque_rect, visible_rect, tex_coord_rect, - min_tex_size, y_plane_resource_id, u_plane_resource_id, + tex_size, y_plane_resource_id, u_plane_resource_id, v_plane_resource_id, a_plane_resource_id, color_space); EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); EXPECT_EQ(y_plane_resource_id, quad_new->y_plane_resource_id); diff --git a/cc/quads/yuv_video_draw_quad.cc b/cc/quads/yuv_video_draw_quad.cc index 8667467..1d0e2f3 100644 --- a/cc/quads/yuv_video_draw_quad.cc +++ b/cc/quads/yuv_video_draw_quad.cc @@ -23,7 +23,7 @@ void YUVVideoDrawQuad::SetNew(const SharedQuadState* shared_quad_state, const gfx::Rect& opaque_rect, const gfx::Rect& visible_rect, const gfx::RectF& tex_coord_rect, - const gfx::Size& min_tex_size, + const gfx::Size& tex_size, unsigned y_plane_resource_id, unsigned u_plane_resource_id, unsigned v_plane_resource_id, @@ -33,7 +33,7 @@ void YUVVideoDrawQuad::SetNew(const SharedQuadState* shared_quad_state, DrawQuad::SetAll(shared_quad_state, DrawQuad::YUV_VIDEO_CONTENT, rect, opaque_rect, visible_rect, needs_blending); this->tex_coord_rect = tex_coord_rect; - this->min_tex_size = min_tex_size; + this->tex_size = tex_size; this->y_plane_resource_id = y_plane_resource_id; this->u_plane_resource_id = u_plane_resource_id; this->v_plane_resource_id = v_plane_resource_id; @@ -47,7 +47,7 @@ void YUVVideoDrawQuad::SetAll(const SharedQuadState* shared_quad_state, const gfx::Rect& visible_rect, bool needs_blending, const gfx::RectF& tex_coord_rect, - const gfx::Size& min_tex_size, + const gfx::Size& tex_size, unsigned y_plane_resource_id, unsigned u_plane_resource_id, unsigned v_plane_resource_id, @@ -56,7 +56,7 @@ void YUVVideoDrawQuad::SetAll(const SharedQuadState* shared_quad_state, DrawQuad::SetAll(shared_quad_state, DrawQuad::YUV_VIDEO_CONTENT, rect, opaque_rect, visible_rect, needs_blending); this->tex_coord_rect = tex_coord_rect; - this->min_tex_size = min_tex_size; + this->tex_size = tex_size; this->y_plane_resource_id = y_plane_resource_id; this->u_plane_resource_id = u_plane_resource_id; this->v_plane_resource_id = v_plane_resource_id; @@ -82,7 +82,7 @@ const YUVVideoDrawQuad* YUVVideoDrawQuad::MaterialCast( void YUVVideoDrawQuad::ExtendValue( base::trace_event::TracedValue* value) const { MathUtil::AddToTracedValue("tex_coord_rect", tex_coord_rect, value); - MathUtil::AddToTracedValue("min_tex_size", min_tex_size, value); + MathUtil::AddToTracedValue("tex_size", tex_size, value); value->SetInteger("y_plane_resource_id", y_plane_resource_id); value->SetInteger("u_plane_resource_id", u_plane_resource_id); value->SetInteger("v_plane_resource_id", v_plane_resource_id); diff --git a/cc/quads/yuv_video_draw_quad.h b/cc/quads/yuv_video_draw_quad.h index abb93ae..358929e 100644 --- a/cc/quads/yuv_video_draw_quad.h +++ b/cc/quads/yuv_video_draw_quad.h @@ -31,7 +31,7 @@ class CC_EXPORT YUVVideoDrawQuad : public DrawQuad { const gfx::Rect& opaque_rect, const gfx::Rect& visible_rect, const gfx::RectF& tex_coord_rect, - const gfx::Size& min_tex_size, + const gfx::Size& tex_size, unsigned y_plane_resource_id, unsigned u_plane_resource_id, unsigned v_plane_resource_id, @@ -44,7 +44,7 @@ class CC_EXPORT YUVVideoDrawQuad : public DrawQuad { const gfx::Rect& visible_rect, bool needs_blending, const gfx::RectF& tex_coord_rect, - const gfx::Size& min_tex_size, + const gfx::Size& tex_size, unsigned y_plane_resource_id, unsigned u_plane_resource_id, unsigned v_plane_resource_id, @@ -53,7 +53,7 @@ class CC_EXPORT YUVVideoDrawQuad : public DrawQuad { gfx::RectF tex_coord_rect; // Empty texture size implies no clamping of texture coordinates. - gfx::Size min_tex_size; + gfx::Size tex_size; unsigned y_plane_resource_id; unsigned u_plane_resource_id; unsigned v_plane_resource_id; |