| 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/filters/skcanvas_video_renderer.h" | 5 #include "media/filters/skcanvas_video_renderer.h" |
| 6 | 6 |
| 7 #include "gpu/GLES2/gl2extchromium.h" | 7 #include "gpu/GLES2/gl2extchromium.h" |
| 8 #include "gpu/command_buffer/client/gles2_interface.h" | 8 #include "gpu/command_buffer/client/gles2_interface.h" |
| 9 #include "gpu/command_buffer/common/mailbox_holder.h" | 9 #include "gpu/command_buffer/common/mailbox_holder.h" |
| 10 #include "media/base/video_frame.h" | 10 #include "media/base/video_frame.h" |
| (...skipping 542 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 553 VideoFrame* video_frame, | 553 VideoFrame* video_frame, |
| 554 unsigned int texture, | 554 unsigned int texture, |
| 555 unsigned int level, | 555 unsigned int level, |
| 556 unsigned int internal_format, | 556 unsigned int internal_format, |
| 557 unsigned int type, | 557 unsigned int type, |
| 558 bool premultiply_alpha, | 558 bool premultiply_alpha, |
| 559 bool flip_y) { | 559 bool flip_y) { |
| 560 DCHECK(video_frame && video_frame->format() == VideoFrame::NATIVE_TEXTURE); | 560 DCHECK(video_frame && video_frame->format() == VideoFrame::NATIVE_TEXTURE); |
| 561 const gpu::MailboxHolder* mailbox_holder = video_frame->mailbox_holder(); | 561 const gpu::MailboxHolder* mailbox_holder = video_frame->mailbox_holder(); |
| 562 DCHECK(mailbox_holder->texture_target == GL_TEXTURE_2D || | 562 DCHECK(mailbox_holder->texture_target == GL_TEXTURE_2D || |
| 563 mailbox_holder->texture_target == GL_TEXTURE_RECTANGLE_ARB || |
| 563 mailbox_holder->texture_target == GL_TEXTURE_EXTERNAL_OES); | 564 mailbox_holder->texture_target == GL_TEXTURE_EXTERNAL_OES); |
| 564 | 565 |
| 565 gl->WaitSyncPointCHROMIUM(mailbox_holder->sync_point); | 566 gl->WaitSyncPointCHROMIUM(mailbox_holder->sync_point); |
| 566 uint32 source_texture = gl->CreateAndConsumeTextureCHROMIUM( | 567 uint32 source_texture = gl->CreateAndConsumeTextureCHROMIUM( |
| 567 mailbox_holder->texture_target, mailbox_holder->mailbox.name); | 568 mailbox_holder->texture_target, mailbox_holder->mailbox.name); |
| 568 | 569 |
| 569 // The video is stored in a unmultiplied format, so premultiply | 570 // The video is stored in a unmultiplied format, so premultiply |
| 570 // if necessary. | 571 // if necessary. |
| 571 gl->PixelStorei(GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM, premultiply_alpha); | 572 gl->PixelStorei(GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM, premultiply_alpha); |
| 572 // Application itself needs to take care of setting the right |flip_y| | 573 // Application itself needs to take care of setting the right |flip_y| |
| (...skipping 18 matching lines...) Expand all Loading... |
| 591 last_frame_timestamp_ = media::kNoTimestamp(); | 592 last_frame_timestamp_ = media::kNoTimestamp(); |
| 592 } | 593 } |
| 593 | 594 |
| 594 void SkCanvasVideoRenderer::ResetAcceleratedLastFrame() { | 595 void SkCanvasVideoRenderer::ResetAcceleratedLastFrame() { |
| 595 accelerated_last_frame_.reset(); | 596 accelerated_last_frame_.reset(); |
| 596 accelerated_generator_ = nullptr; | 597 accelerated_generator_ = nullptr; |
| 597 accelerated_last_frame_timestamp_ = media::kNoTimestamp(); | 598 accelerated_last_frame_timestamp_ = media::kNoTimestamp(); |
| 598 } | 599 } |
| 599 | 600 |
| 600 } // namespace media | 601 } // namespace media |
| OLD | NEW |