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

Side by Side Diff: cc/resources/video_resource_updater.cc

Issue 2173563002: Improve GL shader YUV adjustment. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: use enum hack 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/resources/video_resource_updater.h" 5 #include "cc/resources/video_resource_updater.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 DCHECK_EQ(ref_count_, 1); 145 DCHECK_EQ(ref_count_, 1);
146 plane_index_ = plane_index; 146 plane_index_ = plane_index;
147 unique_frame_id_ = unique_frame_id; 147 unique_frame_id_ = unique_frame_id;
148 has_unique_frame_id_and_plane_index_ = true; 148 has_unique_frame_id_and_plane_index_ = true;
149 } 149 }
150 150
151 VideoFrameExternalResources::VideoFrameExternalResources() 151 VideoFrameExternalResources::VideoFrameExternalResources()
152 : type(NONE), 152 : type(NONE),
153 read_lock_fences_enabled(false), 153 read_lock_fences_enabled(false),
154 offset(0.0f), 154 offset(0.0f),
155 multiplier(1.0f) {} 155 multiplier(1.0f),
156 bits_per_channel(8) {}
156 157
157 VideoFrameExternalResources::VideoFrameExternalResources( 158 VideoFrameExternalResources::VideoFrameExternalResources(
158 const VideoFrameExternalResources& other) = default; 159 const VideoFrameExternalResources& other) = default;
159 160
160 VideoFrameExternalResources::~VideoFrameExternalResources() {} 161 VideoFrameExternalResources::~VideoFrameExternalResources() {}
161 162
162 VideoResourceUpdater::VideoResourceUpdater(ContextProvider* context_provider, 163 VideoResourceUpdater::VideoResourceUpdater(ContextProvider* context_provider,
163 ResourceProvider* resource_provider) 164 ResourceProvider* resource_provider)
164 : context_provider_(context_provider), 165 : context_provider_(context_provider),
165 resource_provider_(resource_provider) { 166 resource_provider_(resource_provider) {
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 369
369 if (plane_resources.size() != output_plane_count) { 370 if (plane_resources.size() != output_plane_count) {
370 // Allocation failed, nothing will be returned so restore reference counts. 371 // Allocation failed, nothing will be returned so restore reference counts.
371 for (ResourceList::iterator resource_it : plane_resources) 372 for (ResourceList::iterator resource_it : plane_resources)
372 resource_it->remove_ref(); 373 resource_it->remove_ref();
373 return VideoFrameExternalResources(); 374 return VideoFrameExternalResources();
374 } 375 }
375 376
376 VideoFrameExternalResources external_resources; 377 VideoFrameExternalResources external_resources;
377 378
379 external_resources.bits_per_channel = bits_per_channel;
380
378 if (software_compositor) { 381 if (software_compositor) {
379 DCHECK_EQ(plane_resources.size(), 1u); 382 DCHECK_EQ(plane_resources.size(), 1u);
380 PlaneResource& plane_resource = *plane_resources[0]; 383 PlaneResource& plane_resource = *plane_resources[0];
381 DCHECK_EQ(plane_resource.resource_format(), kRGBResourceFormat); 384 DCHECK_EQ(plane_resource.resource_format(), kRGBResourceFormat);
382 DCHECK(plane_resource.mailbox().IsZero()); 385 DCHECK(plane_resource.mailbox().IsZero());
383 386
384 if (!plane_resource.Matches(video_frame->unique_id(), 0)) { 387 if (!plane_resource.Matches(video_frame->unique_id(), 0)) {
385 // We need to transfer data from |video_frame| to the plane resource. 388 // We need to transfer data from |video_frame| to the plane resource.
386 if (!video_renderer_) 389 if (!video_renderer_)
387 video_renderer_.reset(new media::SkCanvasVideoRenderer); 390 video_renderer_.reset(new media::SkCanvasVideoRenderer);
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
692 if (lost_resource) { 695 if (lost_resource) {
693 resource_it->clear_refs(); 696 resource_it->clear_refs();
694 updater->DeleteResource(resource_it); 697 updater->DeleteResource(resource_it);
695 return; 698 return;
696 } 699 }
697 700
698 resource_it->remove_ref(); 701 resource_it->remove_ref();
699 } 702 }
700 703
701 } // namespace cc 704 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698