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

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

Issue 2919863004: Add flag to signal that video frame must be drawn using an overlay. (Closed)
Patch Set: cleanup Created 3 years, 6 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/yuv_video_draw_quad.h" 5 #include "cc/quads/yuv_video_draw_quad.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/trace_event/trace_event_argument.h" 8 #include "base/trace_event/trace_event_argument.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "cc/base/math_util.h" 10 #include "cc/base/math_util.h"
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 const gfx::Size& ya_tex_size, 64 const gfx::Size& ya_tex_size,
65 const gfx::Size& uv_tex_size, 65 const gfx::Size& uv_tex_size,
66 unsigned y_plane_resource_id, 66 unsigned y_plane_resource_id,
67 unsigned u_plane_resource_id, 67 unsigned u_plane_resource_id,
68 unsigned v_plane_resource_id, 68 unsigned v_plane_resource_id,
69 unsigned a_plane_resource_id, 69 unsigned a_plane_resource_id,
70 ColorSpace color_space, 70 ColorSpace color_space,
71 const gfx::ColorSpace& video_color_space, 71 const gfx::ColorSpace& video_color_space,
72 float offset, 72 float offset,
73 float multiplier, 73 float multiplier,
74 uint32_t bits_per_channel) { 74 uint32_t bits_per_channel,
75 bool require_overlay) {
75 DrawQuad::SetAll(shared_quad_state, DrawQuad::YUV_VIDEO_CONTENT, rect, 76 DrawQuad::SetAll(shared_quad_state, DrawQuad::YUV_VIDEO_CONTENT, rect,
76 opaque_rect, visible_rect, needs_blending); 77 opaque_rect, visible_rect, needs_blending);
77 this->ya_tex_coord_rect = ya_tex_coord_rect; 78 this->ya_tex_coord_rect = ya_tex_coord_rect;
78 this->uv_tex_coord_rect = uv_tex_coord_rect; 79 this->uv_tex_coord_rect = uv_tex_coord_rect;
79 this->ya_tex_size = ya_tex_size; 80 this->ya_tex_size = ya_tex_size;
80 this->uv_tex_size = uv_tex_size; 81 this->uv_tex_size = uv_tex_size;
81 resources.ids[kYPlaneResourceIdIndex] = y_plane_resource_id; 82 resources.ids[kYPlaneResourceIdIndex] = y_plane_resource_id;
82 resources.ids[kUPlaneResourceIdIndex] = u_plane_resource_id; 83 resources.ids[kUPlaneResourceIdIndex] = u_plane_resource_id;
83 resources.ids[kVPlaneResourceIdIndex] = v_plane_resource_id; 84 resources.ids[kVPlaneResourceIdIndex] = v_plane_resource_id;
84 resources.ids[kAPlaneResourceIdIndex] = a_plane_resource_id; 85 resources.ids[kAPlaneResourceIdIndex] = a_plane_resource_id;
85 resources.count = resources.ids[kAPlaneResourceIdIndex] ? 4 : 3; 86 resources.count = resources.ids[kAPlaneResourceIdIndex] ? 4 : 3;
86 this->color_space = color_space; 87 this->color_space = color_space;
87 this->video_color_space = video_color_space; 88 this->video_color_space = video_color_space;
88 this->resource_offset = offset; 89 this->resource_offset = offset;
89 this->resource_multiplier = multiplier; 90 this->resource_multiplier = multiplier;
90 this->bits_per_channel = bits_per_channel; 91 this->bits_per_channel = bits_per_channel;
92 this->require_overlay = require_overlay;
91 } 93 }
92 94
93 const YUVVideoDrawQuad* YUVVideoDrawQuad::MaterialCast( 95 const YUVVideoDrawQuad* YUVVideoDrawQuad::MaterialCast(
94 const DrawQuad* quad) { 96 const DrawQuad* quad) {
95 DCHECK(quad->material == DrawQuad::YUV_VIDEO_CONTENT); 97 DCHECK(quad->material == DrawQuad::YUV_VIDEO_CONTENT);
96 return static_cast<const YUVVideoDrawQuad*>(quad); 98 return static_cast<const YUVVideoDrawQuad*>(quad);
97 } 99 }
98 100
99 void YUVVideoDrawQuad::ExtendValue( 101 void YUVVideoDrawQuad::ExtendValue(
100 base::trace_event::TracedValue* value) const { 102 base::trace_event::TracedValue* value) const {
101 MathUtil::AddToTracedValue("ya_tex_coord_rect", ya_tex_coord_rect, value); 103 MathUtil::AddToTracedValue("ya_tex_coord_rect", ya_tex_coord_rect, value);
102 MathUtil::AddToTracedValue("uv_tex_coord_rect", uv_tex_coord_rect, value); 104 MathUtil::AddToTracedValue("uv_tex_coord_rect", uv_tex_coord_rect, value);
103 MathUtil::AddToTracedValue("ya_tex_size", ya_tex_size, value); 105 MathUtil::AddToTracedValue("ya_tex_size", ya_tex_size, value);
104 MathUtil::AddToTracedValue("uv_tex_size", uv_tex_size, value); 106 MathUtil::AddToTracedValue("uv_tex_size", uv_tex_size, value);
105 value->SetInteger("y_plane_resource_id", 107 value->SetInteger("y_plane_resource_id",
106 resources.ids[kYPlaneResourceIdIndex]); 108 resources.ids[kYPlaneResourceIdIndex]);
107 value->SetInteger("u_plane_resource_id", 109 value->SetInteger("u_plane_resource_id",
108 resources.ids[kUPlaneResourceIdIndex]); 110 resources.ids[kUPlaneResourceIdIndex]);
109 value->SetInteger("v_plane_resource_id", 111 value->SetInteger("v_plane_resource_id",
110 resources.ids[kVPlaneResourceIdIndex]); 112 resources.ids[kVPlaneResourceIdIndex]);
111 value->SetInteger("a_plane_resource_id", 113 value->SetInteger("a_plane_resource_id",
112 resources.ids[kAPlaneResourceIdIndex]); 114 resources.ids[kAPlaneResourceIdIndex]);
115 value->SetBoolean("require_overlay", require_overlay);
113 } 116 }
114 117
115 } // namespace cc 118 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698