| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "media/renderers/skcanvas_video_renderer.h" | 5 #include "media/renderers/skcanvas_video_renderer.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "gpu/GLES2/gl2extchromium.h" | 10 #include "gpu/GLES2/gl2extchromium.h" |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 80 private: | 80 private: |
| 81 gpu::gles2::GLES2Interface* gl_; | 81 gpu::gles2::GLES2Interface* gl_; |
| 82 | 82 |
| 83 DISALLOW_IMPLICIT_CONSTRUCTORS(SyncTokenClientImpl); | 83 DISALLOW_IMPLICIT_CONSTRUCTORS(SyncTokenClientImpl); |
| 84 }; | 84 }; |
| 85 | 85 |
| 86 sk_sp<SkImage> NewSkImageFromVideoFrameYUVTextures( | 86 sk_sp<SkImage> NewSkImageFromVideoFrameYUVTextures( |
| 87 const VideoFrame* video_frame, | 87 const VideoFrame* video_frame, |
| 88 const Context3D& context_3d) { | 88 const Context3D& context_3d) { |
| 89 DCHECK(video_frame->HasTextures()); | 89 DCHECK(video_frame->HasTextures()); |
| 90 // TODO: We should compare the DCHECK vs when UpdateLastImage calls this |
| 91 // function. (crbug.com/674185) |
| 90 DCHECK(video_frame->format() == PIXEL_FORMAT_I420 || | 92 DCHECK(video_frame->format() == PIXEL_FORMAT_I420 || |
| 91 video_frame->format() == PIXEL_FORMAT_NV12); | 93 video_frame->format() == PIXEL_FORMAT_NV12); |
| 92 | 94 |
| 93 gpu::gles2::GLES2Interface* gl = context_3d.gl; | 95 gpu::gles2::GLES2Interface* gl = context_3d.gl; |
| 94 DCHECK(gl); | 96 DCHECK(gl); |
| 95 gfx::Size ya_tex_size = video_frame->coded_size(); | 97 gfx::Size ya_tex_size = video_frame->coded_size(); |
| 96 gfx::Size uv_tex_size((ya_tex_size.width() + 1) / 2, | 98 gfx::Size uv_tex_size((ya_tex_size.width() + 1) / 2, |
| 97 (ya_tex_size.height() + 1) / 2); | 99 (ya_tex_size.height() + 1) / 2); |
| 98 | 100 |
| 99 GrGLTextureInfo source_textures[] = {{0, 0}, {0, 0}, {0, 0}}; | 101 GrGLTextureInfo source_textures[] = {{0, 0}, {0, 0}, {0, 0}}; |
| (...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 647 video_frame->visible_data(VideoFrame::kUPlane), | 649 video_frame->visible_data(VideoFrame::kUPlane), |
| 648 video_frame->stride(VideoFrame::kUPlane), | 650 video_frame->stride(VideoFrame::kUPlane), |
| 649 video_frame->visible_data(VideoFrame::kVPlane), | 651 video_frame->visible_data(VideoFrame::kVPlane), |
| 650 video_frame->stride(VideoFrame::kVPlane), | 652 video_frame->stride(VideoFrame::kVPlane), |
| 651 static_cast<uint8_t*>(rgb_pixels), row_bytes, | 653 static_cast<uint8_t*>(rgb_pixels), row_bytes, |
| 652 video_frame->visible_rect().width(), | 654 video_frame->visible_rect().width(), |
| 653 video_frame->visible_rect().height()); | 655 video_frame->visible_rect().height()); |
| 654 } | 656 } |
| 655 break; | 657 break; |
| 656 case PIXEL_FORMAT_YV16: | 658 case PIXEL_FORMAT_YV16: |
| 659 case PIXEL_FORMAT_I422: |
| 657 LIBYUV_I422_TO_ARGB(video_frame->visible_data(VideoFrame::kYPlane), | 660 LIBYUV_I422_TO_ARGB(video_frame->visible_data(VideoFrame::kYPlane), |
| 658 video_frame->stride(VideoFrame::kYPlane), | 661 video_frame->stride(VideoFrame::kYPlane), |
| 659 video_frame->visible_data(VideoFrame::kUPlane), | 662 video_frame->visible_data(VideoFrame::kUPlane), |
| 660 video_frame->stride(VideoFrame::kUPlane), | 663 video_frame->stride(VideoFrame::kUPlane), |
| 661 video_frame->visible_data(VideoFrame::kVPlane), | 664 video_frame->visible_data(VideoFrame::kVPlane), |
| 662 video_frame->stride(VideoFrame::kVPlane), | 665 video_frame->stride(VideoFrame::kVPlane), |
| 663 static_cast<uint8_t*>(rgb_pixels), row_bytes, | 666 static_cast<uint8_t*>(rgb_pixels), row_bytes, |
| 664 video_frame->visible_rect().width(), | 667 video_frame->visible_rect().width(), |
| 665 video_frame->visible_rect().height()); | 668 video_frame->visible_rect().height()); |
| 666 break; | 669 break; |
| (...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 932 last_image_->bounds().contains(visible_rect)) { | 935 last_image_->bounds().contains(visible_rect)) { |
| 933 last_image_ = last_image_->makeSubset(visible_rect); | 936 last_image_ = last_image_->makeSubset(visible_rect); |
| 934 } | 937 } |
| 935 } | 938 } |
| 936 | 939 |
| 937 SkISize SkCanvasVideoRenderer::LastImageDimensionsForTesting() { | 940 SkISize SkCanvasVideoRenderer::LastImageDimensionsForTesting() { |
| 938 return last_image_dimensions_for_testing_; | 941 return last_image_dimensions_for_testing_; |
| 939 } | 942 } |
| 940 | 943 |
| 941 } // namespace media | 944 } // namespace media |
| OLD | NEW |