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

Side by Side Diff: media/blink/skcanvas_video_renderer.cc

Issue 1203793003: Remove flip_y, premultiply_alpha, unmultiply_alpha support in command buffer. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Created 5 years, 5 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 (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/blink/skcanvas_video_renderer.h" 5 #include "media/blink/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 619 matching lines...) Expand 10 before | Expand all | Expand 10 after
630 DCHECK(mailbox_holder.texture_target == GL_TEXTURE_2D || 630 DCHECK(mailbox_holder.texture_target == GL_TEXTURE_2D ||
631 mailbox_holder.texture_target == GL_TEXTURE_RECTANGLE_ARB || 631 mailbox_holder.texture_target == GL_TEXTURE_RECTANGLE_ARB ||
632 mailbox_holder.texture_target == GL_TEXTURE_EXTERNAL_OES); 632 mailbox_holder.texture_target == GL_TEXTURE_EXTERNAL_OES);
633 633
634 gl->WaitSyncPointCHROMIUM(mailbox_holder.sync_point); 634 gl->WaitSyncPointCHROMIUM(mailbox_holder.sync_point);
635 uint32 source_texture = gl->CreateAndConsumeTextureCHROMIUM( 635 uint32 source_texture = gl->CreateAndConsumeTextureCHROMIUM(
636 mailbox_holder.texture_target, mailbox_holder.mailbox.name); 636 mailbox_holder.texture_target, mailbox_holder.mailbox.name);
637 637
638 // The video is stored in a unmultiplied format, so premultiply 638 // The video is stored in a unmultiplied format, so premultiply
639 // if necessary. 639 // if necessary.
640 gl->PixelStorei(GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM, premultiply_alpha);
641 // Application itself needs to take care of setting the right |flip_y| 640 // Application itself needs to take care of setting the right |flip_y|
642 // value down to get the expected result. 641 // value down to get the expected result.
643 // "flip_y == true" means to reverse the video orientation while 642 // "flip_y == true" means to reverse the video orientation while
644 // "flip_y == false" means to keep the intrinsic orientation. 643 // "flip_y == false" means to keep the intrinsic orientation.
645 gl->PixelStorei(GL_UNPACK_FLIP_Y_CHROMIUM, flip_y);
646 gl->CopyTextureCHROMIUM(GL_TEXTURE_2D, source_texture, texture, 644 gl->CopyTextureCHROMIUM(GL_TEXTURE_2D, source_texture, texture,
647 internal_format, type, 645 internal_format, type,
648 flip_y, premultiply_alpha, false); 646 flip_y, premultiply_alpha, false);
649 gl->PixelStorei(GL_UNPACK_FLIP_Y_CHROMIUM, false);
650 gl->PixelStorei(GL_UNPACK_PREMULTIPLY_ALPHA_CHROMIUM, false);
651 647
652 gl->DeleteTextures(1, &source_texture); 648 gl->DeleteTextures(1, &source_texture);
653 gl->Flush(); 649 gl->Flush();
654 650
655 SyncPointClientImpl client(gl); 651 SyncPointClientImpl client(gl);
656 video_frame->UpdateReleaseSyncPoint(&client); 652 video_frame->UpdateReleaseSyncPoint(&client);
657 } 653 }
658 654
659 void SkCanvasVideoRenderer::ResetLastFrame() { 655 void SkCanvasVideoRenderer::ResetLastFrame() {
660 last_frame_.reset(); 656 last_frame_.reset();
661 last_frame_timestamp_ = media::kNoTimestamp(); 657 last_frame_timestamp_ = media::kNoTimestamp();
662 } 658 }
663 659
664 void SkCanvasVideoRenderer::ResetAcceleratedLastFrame() { 660 void SkCanvasVideoRenderer::ResetAcceleratedLastFrame() {
665 accelerated_last_image_.reset(); 661 accelerated_last_image_.reset();
666 accelerated_last_frame_.reset(); 662 accelerated_last_frame_.reset();
667 accelerated_generator_ = nullptr; 663 accelerated_generator_ = nullptr;
668 accelerated_last_frame_timestamp_ = media::kNoTimestamp(); 664 accelerated_last_frame_timestamp_ = media::kNoTimestamp();
669 } 665 }
670 666
671 } // namespace media 667 } // namespace media
OLDNEW
« no previous file with comments | « gpu/command_buffer/tests/gl_copy_texture_CHROMIUM_unittest.cc ('k') | ppapi/lib/gl/include/GLES2/gl2ext.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698