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 #ifndef UI_GL_GL_IMAGE_IO_SURFACE_H_ | 5 #ifndef UI_GL_GL_IMAGE_IO_SURFACE_H_ |
6 #define UI_GL_GL_IMAGE_IO_SURFACE_H_ | 6 #define UI_GL_GL_IMAGE_IO_SURFACE_H_ |
7 | 7 |
8 #include <CoreVideo/CVPixelBuffer.h> | 8 #include <CoreVideo/CVPixelBuffer.h> |
9 #include <IOSurface/IOSurface.h> | 9 #include <IOSurface/IOSurface.h> |
10 #include <stdint.h> | 10 #include <stdint.h> |
(...skipping 24 matching lines...) Expand all Loading... |
35 | 35 |
36 // IOSurfaces coming from video decode are wrapped in a CVPixelBuffer | 36 // IOSurfaces coming from video decode are wrapped in a CVPixelBuffer |
37 // and may be discarded if the owning CVPixelBuffer is destroyed. This | 37 // and may be discarded if the owning CVPixelBuffer is destroyed. This |
38 // initialization will ensure that the CVPixelBuffer be retained for the | 38 // initialization will ensure that the CVPixelBuffer be retained for the |
39 // lifetime of the GLImage. | 39 // lifetime of the GLImage. |
40 bool InitializeWithCVPixelBuffer(CVPixelBufferRef cv_pixel_buffer, | 40 bool InitializeWithCVPixelBuffer(CVPixelBufferRef cv_pixel_buffer, |
41 gfx::GenericSharedMemoryId io_surface_id, | 41 gfx::GenericSharedMemoryId io_surface_id, |
42 gfx::BufferFormat format); | 42 gfx::BufferFormat format); |
43 | 43 |
44 // Overridden from GLImage: | 44 // Overridden from GLImage: |
45 void Destroy(bool have_context) override; | |
46 gfx::Size GetSize() override; | 45 gfx::Size GetSize() override; |
47 unsigned GetInternalFormat() override; | 46 unsigned GetInternalFormat() override; |
48 bool BindTexImage(unsigned target) override; | 47 bool BindTexImage(unsigned target) override; |
49 void ReleaseTexImage(unsigned target) override {} | 48 void ReleaseTexImage(unsigned target) override {} |
50 bool CopyTexImage(unsigned target) override; | 49 bool CopyTexImage(unsigned target) override; |
51 bool CopyTexSubImage(unsigned target, | 50 bool CopyTexSubImage(unsigned target, |
52 const gfx::Point& offset, | 51 const gfx::Point& offset, |
53 const gfx::Rect& rect) override; | 52 const gfx::Rect& rect) override; |
54 bool ScheduleOverlayPlane(gfx::AcceleratedWidget widget, | 53 bool ScheduleOverlayPlane(gfx::AcceleratedWidget widget, |
55 int z_order, | 54 int z_order, |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 base::ScopedCFTypeRef<CVPixelBufferRef> cv_pixel_buffer_; | 95 base::ScopedCFTypeRef<CVPixelBufferRef> cv_pixel_buffer_; |
97 gfx::GenericSharedMemoryId io_surface_id_; | 96 gfx::GenericSharedMemoryId io_surface_id_; |
98 base::ThreadChecker thread_checker_; | 97 base::ThreadChecker thread_checker_; |
99 | 98 |
100 DISALLOW_COPY_AND_ASSIGN(GLImageIOSurface); | 99 DISALLOW_COPY_AND_ASSIGN(GLImageIOSurface); |
101 }; | 100 }; |
102 | 101 |
103 } // namespace gl | 102 } // namespace gl |
104 | 103 |
105 #endif // UI_GL_GL_IMAGE_IO_SURFACE_H_ | 104 #endif // UI_GL_GL_IMAGE_IO_SURFACE_H_ |
OLD | NEW |