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

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

Issue 2088273003: Video Color Managament (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: use gfx::ColorProfile Created 4 years, 4 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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 10
(...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 SETUP_AND_COPY_QUAD_ALL(Type, quad_all); 361 SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
362 362
363 #define CREATE_QUAD_13_NEW(Type, a, b, c, d, e, f, g, h, i, j, k, l, m) \ 363 #define CREATE_QUAD_13_NEW(Type, a, b, c, d, e, f, g, h, i, j, k, l, m) \
364 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ 364 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
365 { \ 365 { \
366 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g, \ 366 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g, \
367 h, i, j, k, l, m); \ 367 h, i, j, k, l, m); \
368 } \ 368 } \
369 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); 369 SETUP_AND_COPY_QUAD_NEW(Type, quad_new);
370 370
371 #define CREATE_QUAD_13_ALL(Type, a, b, c, d, e, f, g, h, i, j, k, l, m) \
372 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
373 { \
374 QUAD_DATA quad_all->SetAll(shared_state, quad_rect, quad_opaque_rect, \
375 quad_visible_rect, needs_blending, a, b, c, d, \
376 e, f, g, h, i, j, k, l, m); \
377 } \
378 SETUP_AND_COPY_QUAD_ALL(Type, quad_all);
379
371 #define CREATE_QUAD_14_NEW(Type, a, b, c, d, e, f, g, h, i, j, k, l, m, n) \ 380 #define CREATE_QUAD_14_NEW(Type, a, b, c, d, e, f, g, h, i, j, k, l, m, n) \
372 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \ 381 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
373 { \ 382 { \
374 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g, \ 383 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g, \
375 h, i, j, k, l, m, n); \ 384 h, i, j, k, l, m, n); \
376 } \ 385 } \
377 SETUP_AND_COPY_QUAD_NEW(Type, quad_new); 386 SETUP_AND_COPY_QUAD_NEW(Type, quad_new);
378 387
388 #define CREATE_QUAD_15_NEW(Type, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) \
389 Type* quad_new = render_pass->CreateAndAppendDrawQuad<Type>(); \
390 { \
391 QUAD_DATA quad_new->SetNew(shared_state, quad_rect, a, b, c, d, e, f, g, \
392 h, i, j, k, l, m, n, o); \
393 } \
394 SETUP_AND_COPY_QUAD_NEW(Type, quad_new);
395
379 #define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, f, g, copy_a) \ 396 #define CREATE_QUAD_ALL_RP(Type, a, b, c, d, e, f, g, copy_a) \
380 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \ 397 Type* quad_all = render_pass->CreateAndAppendDrawQuad<Type>(); \
381 { \ 398 { \
382 QUAD_DATA quad_all->SetAll(shared_state, \ 399 QUAD_DATA quad_all->SetAll(shared_state, \
383 quad_rect, \ 400 quad_rect, \
384 quad_opaque_rect, \ 401 quad_opaque_rect, \
385 quad_visible_rect, \ 402 quad_visible_rect, \
386 needs_blending, \ 403 needs_blending, \
387 a, \ 404 a, \
388 b, \ 405 b, \
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
632 gfx::Size ya_tex_size(32, 68); 649 gfx::Size ya_tex_size(32, 68);
633 gfx::Size uv_tex_size(41, 51); 650 gfx::Size uv_tex_size(41, 51);
634 ResourceId y_plane_resource_id = 45; 651 ResourceId y_plane_resource_id = 45;
635 ResourceId u_plane_resource_id = 532; 652 ResourceId u_plane_resource_id = 532;
636 ResourceId v_plane_resource_id = 4; 653 ResourceId v_plane_resource_id = 4;
637 ResourceId a_plane_resource_id = 63; 654 ResourceId a_plane_resource_id = 63;
638 float resource_offset = 0.5f; 655 float resource_offset = 0.5f;
639 float resource_multiplier = 2.001f; 656 float resource_multiplier = 2.001f;
640 uint32_t bits_per_channel = 5; 657 uint32_t bits_per_channel = 5;
641 YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::JPEG; 658 YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::JPEG;
659 gfx::ColorSpace video_color_space = gfx::ColorSpace::CreateJpeg();
642 CREATE_SHARED_STATE(); 660 CREATE_SHARED_STATE();
643 661
644 CREATE_QUAD_14_NEW(YUVVideoDrawQuad, opaque_rect, visible_rect, 662 CREATE_QUAD_15_NEW(YUVVideoDrawQuad, opaque_rect, visible_rect,
645 ya_tex_coord_rect, uv_tex_coord_rect, ya_tex_size, 663 ya_tex_coord_rect, uv_tex_coord_rect, ya_tex_size,
646 uv_tex_size, y_plane_resource_id, u_plane_resource_id, 664 uv_tex_size, y_plane_resource_id, u_plane_resource_id,
647 v_plane_resource_id, a_plane_resource_id, color_space, 665 v_plane_resource_id, a_plane_resource_id, color_space,
648 resource_offset, resource_multiplier, bits_per_channel); 666 video_color_space, resource_offset, resource_multiplier,
667 bits_per_channel);
649 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); 668 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material);
650 EXPECT_EQ(opaque_rect, copy_quad->opaque_rect); 669 EXPECT_EQ(opaque_rect, copy_quad->opaque_rect);
651 EXPECT_EQ(visible_rect, copy_quad->visible_rect); 670 EXPECT_EQ(visible_rect, copy_quad->visible_rect);
652 EXPECT_EQ(ya_tex_coord_rect, copy_quad->ya_tex_coord_rect); 671 EXPECT_EQ(ya_tex_coord_rect, copy_quad->ya_tex_coord_rect);
653 EXPECT_EQ(uv_tex_coord_rect, copy_quad->uv_tex_coord_rect); 672 EXPECT_EQ(uv_tex_coord_rect, copy_quad->uv_tex_coord_rect);
654 EXPECT_EQ(ya_tex_size, copy_quad->ya_tex_size); 673 EXPECT_EQ(ya_tex_size, copy_quad->ya_tex_size);
655 EXPECT_EQ(uv_tex_size, copy_quad->uv_tex_size); 674 EXPECT_EQ(uv_tex_size, copy_quad->uv_tex_size);
656 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id()); 675 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id());
657 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id()); 676 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id());
658 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id()); 677 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id());
659 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id()); 678 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id());
660 EXPECT_EQ(color_space, copy_quad->color_space); 679 EXPECT_EQ(color_space, copy_quad->color_space);
661 EXPECT_EQ(resource_offset, copy_quad->resource_offset); 680 EXPECT_EQ(resource_offset, copy_quad->resource_offset);
662 EXPECT_EQ(resource_multiplier, copy_quad->resource_multiplier); 681 EXPECT_EQ(resource_multiplier, copy_quad->resource_multiplier);
663 EXPECT_EQ(bits_per_channel, copy_quad->bits_per_channel); 682 EXPECT_EQ(bits_per_channel, copy_quad->bits_per_channel);
664 683
665 CREATE_QUAD_12_ALL(YUVVideoDrawQuad, ya_tex_coord_rect, uv_tex_coord_rect, 684 CREATE_QUAD_13_ALL(YUVVideoDrawQuad, ya_tex_coord_rect, uv_tex_coord_rect,
666 ya_tex_size, uv_tex_size, y_plane_resource_id, 685 ya_tex_size, uv_tex_size, y_plane_resource_id,
667 u_plane_resource_id, v_plane_resource_id, 686 u_plane_resource_id, v_plane_resource_id,
668 a_plane_resource_id, color_space, resource_offset, 687 a_plane_resource_id, color_space, video_color_space,
669 resource_multiplier, bits_per_channel); 688 resource_offset, resource_multiplier, bits_per_channel);
670 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); 689 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material);
671 EXPECT_EQ(ya_tex_coord_rect, copy_quad->ya_tex_coord_rect); 690 EXPECT_EQ(ya_tex_coord_rect, copy_quad->ya_tex_coord_rect);
672 EXPECT_EQ(uv_tex_coord_rect, copy_quad->uv_tex_coord_rect); 691 EXPECT_EQ(uv_tex_coord_rect, copy_quad->uv_tex_coord_rect);
673 EXPECT_EQ(ya_tex_size, copy_quad->ya_tex_size); 692 EXPECT_EQ(ya_tex_size, copy_quad->ya_tex_size);
674 EXPECT_EQ(uv_tex_size, copy_quad->uv_tex_size); 693 EXPECT_EQ(uv_tex_size, copy_quad->uv_tex_size);
675 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id()); 694 EXPECT_EQ(y_plane_resource_id, copy_quad->y_plane_resource_id());
676 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id()); 695 EXPECT_EQ(u_plane_resource_id, copy_quad->u_plane_resource_id());
677 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id()); 696 EXPECT_EQ(v_plane_resource_id, copy_quad->v_plane_resource_id());
678 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id()); 697 EXPECT_EQ(a_plane_resource_id, copy_quad->a_plane_resource_id());
679 EXPECT_EQ(color_space, copy_quad->color_space); 698 EXPECT_EQ(color_space, copy_quad->color_space);
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
872 gfx::Rect visible_rect(40, 50, 30, 20); 891 gfx::Rect visible_rect(40, 50, 30, 20);
873 gfx::RectF ya_tex_coord_rect(0.0f, 0.0f, 0.75f, 0.5f); 892 gfx::RectF ya_tex_coord_rect(0.0f, 0.0f, 0.75f, 0.5f);
874 gfx::RectF uv_tex_coord_rect(0.0f, 0.0f, 0.375f, 0.25f); 893 gfx::RectF uv_tex_coord_rect(0.0f, 0.0f, 0.375f, 0.25f);
875 gfx::Size ya_tex_size(32, 68); 894 gfx::Size ya_tex_size(32, 68);
876 gfx::Size uv_tex_size(41, 51); 895 gfx::Size uv_tex_size(41, 51);
877 ResourceId y_plane_resource_id = 45; 896 ResourceId y_plane_resource_id = 45;
878 ResourceId u_plane_resource_id = 532; 897 ResourceId u_plane_resource_id = 532;
879 ResourceId v_plane_resource_id = 4; 898 ResourceId v_plane_resource_id = 4;
880 ResourceId a_plane_resource_id = 63; 899 ResourceId a_plane_resource_id = 63;
881 YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::JPEG; 900 YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::JPEG;
901 gfx::ColorSpace video_color_space = gfx::ColorSpace::CreateJpeg();
882 902
883 CREATE_SHARED_STATE(); 903 CREATE_SHARED_STATE();
884 CREATE_QUAD_14_NEW(YUVVideoDrawQuad, opaque_rect, visible_rect, 904 CREATE_QUAD_15_NEW(YUVVideoDrawQuad, opaque_rect, visible_rect,
885 ya_tex_coord_rect, uv_tex_coord_rect, ya_tex_size, 905 ya_tex_coord_rect, uv_tex_coord_rect, ya_tex_size,
886 uv_tex_size, y_plane_resource_id, u_plane_resource_id, 906 uv_tex_size, y_plane_resource_id, u_plane_resource_id,
887 v_plane_resource_id, a_plane_resource_id, color_space, 0.0, 907 v_plane_resource_id, a_plane_resource_id, color_space,
888 1.0, 5); 908 video_color_space, 0.0, 1.0, 5);
889 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material); 909 EXPECT_EQ(DrawQuad::YUV_VIDEO_CONTENT, copy_quad->material);
890 EXPECT_EQ(y_plane_resource_id, quad_new->y_plane_resource_id()); 910 EXPECT_EQ(y_plane_resource_id, quad_new->y_plane_resource_id());
891 EXPECT_EQ(u_plane_resource_id, quad_new->u_plane_resource_id()); 911 EXPECT_EQ(u_plane_resource_id, quad_new->u_plane_resource_id());
892 EXPECT_EQ(v_plane_resource_id, quad_new->v_plane_resource_id()); 912 EXPECT_EQ(v_plane_resource_id, quad_new->v_plane_resource_id());
893 EXPECT_EQ(a_plane_resource_id, quad_new->a_plane_resource_id()); 913 EXPECT_EQ(a_plane_resource_id, quad_new->a_plane_resource_id());
894 EXPECT_EQ(color_space, quad_new->color_space); 914 EXPECT_EQ(color_space, quad_new->color_space);
895 EXPECT_EQ(4, IterateAndCount(quad_new)); 915 EXPECT_EQ(4, IterateAndCount(quad_new));
896 EXPECT_EQ(y_plane_resource_id + 1, quad_new->y_plane_resource_id()); 916 EXPECT_EQ(y_plane_resource_id + 1, quad_new->y_plane_resource_id());
897 EXPECT_EQ(u_plane_resource_id + 1, quad_new->u_plane_resource_id()); 917 EXPECT_EQ(u_plane_resource_id + 1, quad_new->u_plane_resource_id());
898 EXPECT_EQ(v_plane_resource_id + 1, quad_new->v_plane_resource_id()); 918 EXPECT_EQ(v_plane_resource_id + 1, quad_new->v_plane_resource_id());
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
993 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad); 1013 LOG(ERROR) << "YUVVideoDrawQuad " << sizeof(YUVVideoDrawQuad);
994 break; 1014 break;
995 case DrawQuad::INVALID: 1015 case DrawQuad::INVALID:
996 break; 1016 break;
997 } 1017 }
998 } 1018 }
999 } 1019 }
1000 1020
1001 } // namespace 1021 } // namespace
1002 } // namespace cc 1022 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698