| Index: cc/layers/video_layer_impl.cc
|
| diff --git a/cc/layers/video_layer_impl.cc b/cc/layers/video_layer_impl.cc
|
| index 56eb67764a72f77331575ca1616c1316523e9480..e01d566086e386988530152301b48f95915a4732 100644
|
| --- a/cc/layers/video_layer_impl.cc
|
| +++ b/cc/layers/video_layer_impl.cc
|
| @@ -233,8 +233,6 @@ void VideoLayerImpl::AppendQuads(RenderPass* render_pass,
|
| break;
|
| }
|
| case VideoFrameExternalResources::YUV_RESOURCE: {
|
| - DCHECK_GE(frame_resources_.size(), 3u);
|
| -
|
| YUVVideoDrawQuad::ColorSpace color_space = YUVVideoDrawQuad::REC_601;
|
| int videoframe_color_space;
|
| if (frame_->metadata()->GetInteger(media::VideoFrameMetadata::COLOR_SPACE,
|
| @@ -251,12 +249,18 @@ void VideoLayerImpl::AppendQuads(RenderPass* render_pass,
|
| frame_->format(), media::VideoFrame::kUPlane, coded_size);
|
|
|
| if (frame_->HasTextures()) {
|
| - DCHECK_EQ(media::PIXEL_FORMAT_I420, frame_->format());
|
| - DCHECK_EQ(3u, frame_resources_.size()); // Alpha is not supported yet.
|
| + if (frame_->format() == media::PIXEL_FORMAT_NV12) {
|
| + DCHECK_EQ(2u, frame_resources_.size());
|
| + } else {
|
| + DCHECK_EQ(media::PIXEL_FORMAT_I420, frame_->format());
|
| + DCHECK_EQ(3u,
|
| + frame_resources_.size()); // Alpha is not supported yet.
|
| + }
|
| } else {
|
| DCHECK(uv_tex_size ==
|
| media::VideoFrame::PlaneSize(
|
| frame_->format(), media::VideoFrame::kVPlane, coded_size));
|
| + DCHECK_GE(frame_resources_.size(), 3u);
|
| DCHECK(frame_resources_.size() <= 3 ||
|
| ya_tex_size == media::VideoFrame::PlaneSize(
|
| frame_->format(), media::VideoFrame::kAPlane,
|
| @@ -282,7 +286,8 @@ void VideoLayerImpl::AppendQuads(RenderPass* render_pass,
|
| shared_quad_state, quad_rect, opaque_rect, visible_quad_rect,
|
| ya_tex_coord_rect, uv_tex_coord_rect, ya_tex_size, uv_tex_size,
|
| frame_resources_[0].id, frame_resources_[1].id,
|
| - frame_resources_[2].id,
|
| + frame_resources_.size() > 2 ? frame_resources_[2].id
|
| + : frame_resources_[1].id,
|
| frame_resources_.size() > 3 ? frame_resources_[3].id : 0, color_space,
|
| frame_resource_offset_, frame_resource_multiplier_);
|
| ValidateQuadResources(yuv_video_quad);
|
|
|