| OLD | NEW |
| 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 <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/debug/trace_event.h" | 10 #include "base/debug/trace_event.h" |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 | 137 |
| 138 bool VideoResourceUpdater::VerifyFrame( | 138 bool VideoResourceUpdater::VerifyFrame( |
| 139 const scoped_refptr<media::VideoFrame>& video_frame) { | 139 const scoped_refptr<media::VideoFrame>& video_frame) { |
| 140 switch (video_frame->format()) { | 140 switch (video_frame->format()) { |
| 141 // Acceptable inputs. | 141 // Acceptable inputs. |
| 142 case media::VideoFrame::YV12: | 142 case media::VideoFrame::YV12: |
| 143 case media::VideoFrame::I420: | 143 case media::VideoFrame::I420: |
| 144 case media::VideoFrame::YV12A: | 144 case media::VideoFrame::YV12A: |
| 145 case media::VideoFrame::YV16: | 145 case media::VideoFrame::YV16: |
| 146 case media::VideoFrame::YV12J: | 146 case media::VideoFrame::YV12J: |
| 147 case media::VideoFrame::YV12HD: |
| 147 case media::VideoFrame::YV24: | 148 case media::VideoFrame::YV24: |
| 148 case media::VideoFrame::NATIVE_TEXTURE: | 149 case media::VideoFrame::NATIVE_TEXTURE: |
| 149 #if defined(VIDEO_HOLE) | 150 #if defined(VIDEO_HOLE) |
| 150 case media::VideoFrame::HOLE: | 151 case media::VideoFrame::HOLE: |
| 151 #endif // defined(VIDEO_HOLE) | 152 #endif // defined(VIDEO_HOLE) |
| 152 case media::VideoFrame::ARGB: | 153 case media::VideoFrame::ARGB: |
| 153 return true; | 154 return true; |
| 154 | 155 |
| 155 // Unacceptable inputs. ¯\(°_o)/¯ | 156 // Unacceptable inputs. ¯\(°_o)/¯ |
| 156 case media::VideoFrame::UNKNOWN: | 157 case media::VideoFrame::UNKNOWN: |
| (...skipping 27 matching lines...) Expand all Loading... |
| 184 external_resources.type = VideoFrameExternalResources::HOLE; | 185 external_resources.type = VideoFrameExternalResources::HOLE; |
| 185 return external_resources; | 186 return external_resources; |
| 186 } | 187 } |
| 187 #endif // defined(VIDEO_HOLE) | 188 #endif // defined(VIDEO_HOLE) |
| 188 | 189 |
| 189 // Only YUV software video frames are supported. | 190 // Only YUV software video frames are supported. |
| 190 if (input_frame_format != media::VideoFrame::YV12 && | 191 if (input_frame_format != media::VideoFrame::YV12 && |
| 191 input_frame_format != media::VideoFrame::I420 && | 192 input_frame_format != media::VideoFrame::I420 && |
| 192 input_frame_format != media::VideoFrame::YV12A && | 193 input_frame_format != media::VideoFrame::YV12A && |
| 193 input_frame_format != media::VideoFrame::YV12J && | 194 input_frame_format != media::VideoFrame::YV12J && |
| 195 input_frame_format != media::VideoFrame::YV12HD && |
| 194 input_frame_format != media::VideoFrame::YV16 && | 196 input_frame_format != media::VideoFrame::YV16 && |
| 195 input_frame_format != media::VideoFrame::YV24) { | 197 input_frame_format != media::VideoFrame::YV24) { |
| 196 NOTREACHED() << input_frame_format; | 198 NOTREACHED() << input_frame_format; |
| 197 return VideoFrameExternalResources(); | 199 return VideoFrameExternalResources(); |
| 198 } | 200 } |
| 199 | 201 |
| 200 bool software_compositor = context_provider_ == NULL; | 202 bool software_compositor = context_provider_ == NULL; |
| 201 | 203 |
| 202 ResourceFormat output_resource_format = | 204 ResourceFormat output_resource_format = |
| 203 resource_provider_->yuv_resource_format(); | 205 resource_provider_->yuv_resource_format(); |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 421 resource_it->ref_count = 0; | 423 resource_it->ref_count = 0; |
| 422 updater->DeleteResource(resource_it); | 424 updater->DeleteResource(resource_it); |
| 423 return; | 425 return; |
| 424 } | 426 } |
| 425 | 427 |
| 426 --resource_it->ref_count; | 428 --resource_it->ref_count; |
| 427 DCHECK_GE(resource_it->ref_count, 0); | 429 DCHECK_GE(resource_it->ref_count, 0); |
| 428 } | 430 } |
| 429 | 431 |
| 430 } // namespace cc | 432 } // namespace cc |
| OLD | NEW |