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

Side by Side Diff: cc/quads/draw_quad_unittest.cc

Issue 92703003: Support videos with JPEG color range in GPU YUV convert path. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@yuv_v2
Patch Set: Use ColorSpace enum, rather than a boolean for jpeg. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/quads/draw_quad.h" 5 #include "cc/quads/draw_quad.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 576 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 } 587 }
588 588
589 TEST(DrawQuadTest, CopyYUVVideoDrawQuad) { 589 TEST(DrawQuadTest, CopyYUVVideoDrawQuad) {
590 gfx::Rect opaque_rect(33, 47, 10, 12); 590 gfx::Rect opaque_rect(33, 47, 10, 12);
591 gfx::Rect visible_rect(40, 50, 30, 20); 591 gfx::Rect visible_rect(40, 50, 30, 20);
592 gfx::RectF tex_coord_rect(0.0f, 0.0f, 0.75f, 0.5f); 592 gfx::RectF tex_coord_rect(0.0f, 0.0f, 0.75f, 0.5f);
593 ResourceProvider::ResourceId y_plane_resource_id = 45; 593 ResourceProvider::ResourceId y_plane_resource_id = 45;
594 ResourceProvider::ResourceId u_plane_resource_id = 532; 594 ResourceProvider::ResourceId u_plane_resource_id = 532;
595 ResourceProvider::ResourceId v_plane_resource_id = 4; 595 ResourceProvider::ResourceId v_plane_resource_id = 4;
596 ResourceProvider::ResourceId a_plane_resource_id = 63; 596 ResourceProvider::ResourceId a_plane_resource_id = 63;
597 YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::kRec601_Jpeg;
597 CREATE_SHARED_STATE(); 598 CREATE_SHARED_STATE();
598 599
599 CREATE_QUAD_7_NEW(YUVVideoDrawQuad, 600 CREATE_QUAD_8_NEW(YUVVideoDrawQuad,
600 opaque_rect, 601 opaque_rect,
601 visible_rect, 602 visible_rect,
602 tex_coord_rect, 603 tex_coord_rect,
603 y_plane_resource_id, 604 y_plane_resource_id,
604 u_plane_resource_id, 605 u_plane_resource_id,
605 v_plane_resource_id, 606 v_plane_resource_id,
606 a_plane_resource_id); 607 a_plane_resource_id,
608 color_space);
607 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); 609 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material);
608 EXPECT_RECT_EQ(opaque_rect, copy_quad->opaque_rect); 610 EXPECT_RECT_EQ(opaque_rect, copy_quad->opaque_rect);
609 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect); 611 EXPECT_RECT_EQ(visible_rect, copy_quad->visible_rect);
610 EXPECT_EQ(tex_coord_rect, copy_quad->tex_coord_rect); 612 EXPECT_EQ(tex_coord_rect, copy_quad->tex_coord_rect);
611 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id); 613 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id);
612 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id); 614 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id);
613 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id); 615 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id);
614 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id); 616 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id);
617 EXPECT_EQ(color_space, copy_quad->color_space);
615 618
616 CREATE_QUAD_5_ALL(YUVVideoDrawQuad, 619 CREATE_QUAD_6_ALL(YUVVideoDrawQuad,
617 tex_coord_rect, 620 tex_coord_rect,
618 y_plane_resource_id, 621 y_plane_resource_id,
619 u_plane_resource_id, 622 u_plane_resource_id,
620 v_plane_resource_id, 623 v_plane_resource_id,
621 a_plane_resource_id); 624 a_plane_resource_id,
625 color_space);
622 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); 626 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material);
623 EXPECT_EQ(tex_coord_rect, copy_quad->tex_coord_rect); 627 EXPECT_EQ(tex_coord_rect, copy_quad->tex_coord_rect);
624 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id); 628 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id);
625 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id); 629 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id);
626 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id); 630 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id);
627 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id); 631 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id);
632 EXPECT_EQ(color_space, copy_quad->color_space);
628 } 633 }
629 634
630 TEST(DrawQuadTest, CopyPictureDrawQuad) { 635 TEST(DrawQuadTest, CopyPictureDrawQuad) {
631 gfx::Rect opaque_rect(33, 44, 22, 33); 636 gfx::Rect opaque_rect(33, 44, 22, 33);
632 gfx::Rect visible_rect(40, 50, 30, 20); 637 gfx::Rect visible_rect(40, 50, 30, 20);
633 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f); 638 gfx::RectF tex_coord_rect(31.f, 12.f, 54.f, 20.f);
634 gfx::Size texture_size(85, 32); 639 gfx::Size texture_size(85, 32);
635 ResourceFormat texture_format = RGBA_8888; 640 ResourceFormat texture_format = RGBA_8888;
636 gfx::Rect content_rect(30, 40, 20, 30); 641 gfx::Rect content_rect(30, 40, 20, 30);
637 float contents_scale = 3.141592f; 642 float contents_scale = 3.141592f;
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
846 } 851 }
847 852
848 TEST_F(DrawQuadIteratorTest, YUVVideoDrawQuad) { 853 TEST_F(DrawQuadIteratorTest, YUVVideoDrawQuad) {
849 gfx::Rect opaque_rect(33, 47, 10, 12); 854 gfx::Rect opaque_rect(33, 47, 10, 12);
850 gfx::Rect visible_rect(40, 50, 30, 20); 855 gfx::Rect visible_rect(40, 50, 30, 20);
851 gfx::RectF tex_coord_rect(0.0f, 0.0f, 0.75f, 0.5f); 856 gfx::RectF tex_coord_rect(0.0f, 0.0f, 0.75f, 0.5f);
852 ResourceProvider::ResourceId y_plane_resource_id = 45; 857 ResourceProvider::ResourceId y_plane_resource_id = 45;
853 ResourceProvider::ResourceId u_plane_resource_id = 532; 858 ResourceProvider::ResourceId u_plane_resource_id = 532;
854 ResourceProvider::ResourceId v_plane_resource_id = 4; 859 ResourceProvider::ResourceId v_plane_resource_id = 4;
855 ResourceProvider::ResourceId a_plane_resource_id = 63; 860 ResourceProvider::ResourceId a_plane_resource_id = 63;
861 YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::kRec601_Jpeg;
856 862
857 CREATE_SHARED_STATE(); 863 CREATE_SHARED_STATE();
858 CREATE_QUAD_7_NEW(YUVVideoDrawQuad, 864 CREATE_QUAD_8_NEW(YUVVideoDrawQuad,
859 opaque_rect, 865 opaque_rect,
860 visible_rect, 866 visible_rect,
861 tex_coord_rect, 867 tex_coord_rect,
862 y_plane_resource_id, 868 y_plane_resource_id,
863 u_plane_resource_id, 869 u_plane_resource_id,
864 v_plane_resource_id, 870 v_plane_resource_id,
865 a_plane_resource_id); 871 a_plane_resource_id,
872 color_space);
866 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); 873 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material);
867 EXPECT_EQ(y_plane_resource_id, quad_new->y_plane_resource_id); 874 EXPECT_EQ(y_plane_resource_id, quad_new->y_plane_resource_id);
868 EXPECT_EQ(u_plane_resource_id, quad_new->u_plane_resource_id); 875 EXPECT_EQ(u_plane_resource_id, quad_new->u_plane_resource_id);
869 EXPECT_EQ(v_plane_resource_id, quad_new->v_plane_resource_id); 876 EXPECT_EQ(v_plane_resource_id, quad_new->v_plane_resource_id);
870 EXPECT_EQ(a_plane_resource_id, quad_new->a_plane_resource_id); 877 EXPECT_EQ(a_plane_resource_id, quad_new->a_plane_resource_id);
878 EXPECT_EQ(color_space, quad_new->color_space);
871 EXPECT_EQ(4, IterateAndCount(quad_new.get())); 879 EXPECT_EQ(4, IterateAndCount(quad_new.get()));
872 EXPECT_EQ(y_plane_resource_id + 1, quad_new->y_plane_resource_id); 880 EXPECT_EQ(y_plane_resource_id + 1, quad_new->y_plane_resource_id);
873 EXPECT_EQ(u_plane_resource_id + 1, quad_new->u_plane_resource_id); 881 EXPECT_EQ(u_plane_resource_id + 1, quad_new->u_plane_resource_id);
874 EXPECT_EQ(v_plane_resource_id + 1, quad_new->v_plane_resource_id); 882 EXPECT_EQ(v_plane_resource_id + 1, quad_new->v_plane_resource_id);
875 EXPECT_EQ(a_plane_resource_id + 1, quad_new->a_plane_resource_id); 883 EXPECT_EQ(a_plane_resource_id + 1, quad_new->a_plane_resource_id);
876 } 884 }
877 885
878 // Disabled until picture draw quad is supported for ubercomp: crbug.com/231715 886 // Disabled until picture draw quad is supported for ubercomp: crbug.com/231715
879 TEST_F(DrawQuadIteratorTest, DISABLED_PictureDrawQuad) { 887 TEST_F(DrawQuadIteratorTest, DISABLED_PictureDrawQuad) {
880 gfx::Rect opaque_rect(33, 44, 22, 33); 888 gfx::Rect opaque_rect(33, 44, 22, 33);
(...skipping 13 matching lines...) Expand all
894 texture_size, 902 texture_size,
895 texture_format, 903 texture_format,
896 content_rect, 904 content_rect,
897 contents_scale, 905 contents_scale,
898 picture_pile); 906 picture_pile);
899 EXPECT_EQ(0, IterateAndCount(quad_new.get())); 907 EXPECT_EQ(0, IterateAndCount(quad_new.get()));
900 } 908 }
901 909
902 } // namespace 910 } // namespace
903 } // namespace cc 911 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698