| 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 #ifndef MEDIA_GPU_IPC_SERVICE_GPU_VIDEO_DECODE_ACCELERATOR_H_ | 5 #ifndef MEDIA_GPU_IPC_SERVICE_GPU_VIDEO_DECODE_ACCELERATOR_H_ |
| 6 #define MEDIA_GPU_IPC_SERVICE_GPU_VIDEO_DECODE_ACCELERATOR_H_ | 6 #define MEDIA_GPU_IPC_SERVICE_GPU_VIDEO_DECODE_ACCELERATOR_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 private: | 87 private: |
| 88 class MessageFilter; | 88 class MessageFilter; |
| 89 | 89 |
| 90 // We only allow self-delete, from OnWillDestroyStub(), after cleanup there. | 90 // We only allow self-delete, from OnWillDestroyStub(), after cleanup there. |
| 91 ~GpuVideoDecodeAccelerator() override; | 91 ~GpuVideoDecodeAccelerator() override; |
| 92 | 92 |
| 93 // Handlers for IPC messages. | 93 // Handlers for IPC messages. |
| 94 void OnDecode(const BitstreamBuffer& bitstream_buffer); | 94 void OnDecode(const BitstreamBuffer& bitstream_buffer); |
| 95 void OnAssignPictureBuffers( | 95 void OnAssignPictureBuffers( |
| 96 const std::vector<int32_t>& buffer_ids, | 96 const std::vector<int32_t>& buffer_ids, |
| 97 const std::vector<PictureBuffer::TextureIds>& texture_ids); | 97 const std::vector<PictureBuffer::TextureIds>& texture_ids, |
| 98 uint32_t texture_target, |
| 99 VideoPixelFormat pixel_format, |
| 100 const gfx::Size& dimensions); |
| 98 void OnReusePictureBuffer(int32_t picture_buffer_id); | 101 void OnReusePictureBuffer(int32_t picture_buffer_id); |
| 99 void OnFlush(); | 102 void OnFlush(); |
| 100 void OnReset(); | 103 void OnReset(); |
| 101 void OnSetSurface(int32_t surface_id); | 104 void OnSetSurface(int32_t surface_id); |
| 102 void OnDestroy(); | 105 void OnDestroy(); |
| 103 | 106 |
| 104 // Called on IO thread when |filter_| has been removed. | 107 // Called on IO thread when |filter_| has been removed. |
| 105 void OnFilterRemoved(); | 108 void OnFilterRemoved(); |
| 106 | 109 |
| 107 // Sets the texture to cleared. | 110 // Sets the texture to cleared. |
| (...skipping 15 matching lines...) Expand all Loading... |
| 123 | 126 |
| 124 // Callback for making the relevant context current for GL calls. | 127 // Callback for making the relevant context current for GL calls. |
| 125 MakeGLContextCurrentCallback make_context_current_cb_; | 128 MakeGLContextCurrentCallback make_context_current_cb_; |
| 126 | 129 |
| 127 // Callback to bind a GLImage to a given texture id and target. | 130 // Callback to bind a GLImage to a given texture id and target. |
| 128 BindGLImageCallback bind_image_cb_; | 131 BindGLImageCallback bind_image_cb_; |
| 129 | 132 |
| 130 // Callback to return a WeakPtr to GLES2Decoder. | 133 // Callback to return a WeakPtr to GLES2Decoder. |
| 131 GetGLES2DecoderCallback get_gles2_decoder_cb_; | 134 GetGLES2DecoderCallback get_gles2_decoder_cb_; |
| 132 | 135 |
| 133 // The texture dimensions as requested by ProvidePictureBuffers(). | |
| 134 gfx::Size texture_dimensions_; | |
| 135 | |
| 136 // The texture target as requested by ProvidePictureBuffers(). | |
| 137 uint32_t texture_target_; | |
| 138 | |
| 139 // The number of textures per picture buffer as requests by | 136 // The number of textures per picture buffer as requests by |
| 140 // ProvidePictureBuffers() | 137 // ProvidePictureBuffers() |
| 141 uint32_t textures_per_buffer_; | 138 uint32_t textures_per_buffer_; |
| 142 | 139 |
| 143 // The message filter to run VDA::Decode on IO thread if VDA supports it. | 140 // The message filter to run VDA::Decode on IO thread if VDA supports it. |
| 144 scoped_refptr<MessageFilter> filter_; | 141 scoped_refptr<MessageFilter> filter_; |
| 145 | 142 |
| 146 // Used to wait on for |filter_| to be removed, before we can safely | 143 // Used to wait on for |filter_| to be removed, before we can safely |
| 147 // destroy the VDA. | 144 // destroy the VDA. |
| 148 base::WaitableEvent filter_removed_; | 145 base::WaitableEvent filter_removed_; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 168 // cleared. | 165 // cleared. |
| 169 std::map<int32_t, std::vector<scoped_refptr<gpu::gles2::TextureRef>>> | 166 std::map<int32_t, std::vector<scoped_refptr<gpu::gles2::TextureRef>>> |
| 170 uncleared_textures_; | 167 uncleared_textures_; |
| 171 | 168 |
| 172 DISALLOW_IMPLICIT_CONSTRUCTORS(GpuVideoDecodeAccelerator); | 169 DISALLOW_IMPLICIT_CONSTRUCTORS(GpuVideoDecodeAccelerator); |
| 173 }; | 170 }; |
| 174 | 171 |
| 175 } // namespace media | 172 } // namespace media |
| 176 | 173 |
| 177 #endif // MEDIA_GPU_IPC_SERVICE_GPU_VIDEO_DECODE_ACCELERATOR_H_ | 174 #endif // MEDIA_GPU_IPC_SERVICE_GPU_VIDEO_DECODE_ACCELERATOR_H_ |
| OLD | NEW |