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 CONTENT_COMMON_GPU_MEDIA_GPU_VIDEO_ENCODE_ACCELERATOR_H_ | 5 #ifndef CONTENT_COMMON_GPU_MEDIA_GPU_VIDEO_ENCODE_ACCELERATOR_H_ |
6 #define CONTENT_COMMON_GPU_MEDIA_GPU_VIDEO_ENCODE_ACCELERATOR_H_ | 6 #define CONTENT_COMMON_GPU_MEDIA_GPU_VIDEO_ENCODE_ACCELERATOR_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/memory/scoped_ptr.h" | 10 #include "base/memory/scoped_ptr.h" |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 size_t output_buffer_size) override; | 51 size_t output_buffer_size) override; |
52 void BitstreamBufferReady(int32 bitstream_buffer_id, | 52 void BitstreamBufferReady(int32 bitstream_buffer_id, |
53 size_t payload_size, | 53 size_t payload_size, |
54 bool key_frame) override; | 54 bool key_frame) override; |
55 void NotifyError(media::VideoEncodeAccelerator::Error error) override; | 55 void NotifyError(media::VideoEncodeAccelerator::Error error) override; |
56 | 56 |
57 // GpuCommandBufferStub::DestructionObserver implementation. | 57 // GpuCommandBufferStub::DestructionObserver implementation. |
58 void OnWillDestroyStub() override; | 58 void OnWillDestroyStub() override; |
59 | 59 |
60 // Static query for supported profiles. This query calls the appropriate | 60 // Static query for supported profiles. This query calls the appropriate |
61 // platform-specific version. | 61 // platform-specific version. The returned supported profiles vector would |
| 62 // not have duplicate codec profile. |
62 static std::vector<gpu::VideoEncodeAcceleratorSupportedProfile> | 63 static std::vector<gpu::VideoEncodeAcceleratorSupportedProfile> |
63 GetSupportedProfiles(); | 64 GetSupportedProfiles(); |
64 static std::vector<gpu::VideoEncodeAcceleratorSupportedProfile> | |
65 ConvertMediaToGpuProfiles(const std::vector< | |
66 media::VideoEncodeAccelerator::SupportedProfile>& media_profiles); | |
67 | 65 |
68 private: | 66 private: |
69 typedef scoped_ptr<media::VideoEncodeAccelerator>(*CreateVEAFp)(); | 67 typedef scoped_ptr<media::VideoEncodeAccelerator>(*CreateVEAFp)(); |
70 | 68 |
71 // Return a set of VEA Create function pointers applicable to the current | 69 // Return a set of VEA Create function pointers applicable to the current |
72 // platform. | 70 // platform. |
73 static std::vector<CreateVEAFp> CreateVEAFps(); | 71 static std::vector<CreateVEAFp> CreateVEAFps(); |
74 static scoped_ptr<media::VideoEncodeAccelerator> CreateV4L2VEA(); | 72 static scoped_ptr<media::VideoEncodeAccelerator> CreateV4L2VEA(); |
75 static scoped_ptr<media::VideoEncodeAccelerator> CreateVaapiVEA(); | 73 static scoped_ptr<media::VideoEncodeAccelerator> CreateVaapiVEA(); |
76 static scoped_ptr<media::VideoEncodeAccelerator> CreateAndroidVEA(); | 74 static scoped_ptr<media::VideoEncodeAccelerator> CreateAndroidVEA(); |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
115 | 113 |
116 // Weak pointer for media::VideoFrames that refer back to |this|. | 114 // Weak pointer for media::VideoFrames that refer back to |this|. |
117 base::WeakPtrFactory<GpuVideoEncodeAccelerator> weak_this_factory_; | 115 base::WeakPtrFactory<GpuVideoEncodeAccelerator> weak_this_factory_; |
118 | 116 |
119 DISALLOW_COPY_AND_ASSIGN(GpuVideoEncodeAccelerator); | 117 DISALLOW_COPY_AND_ASSIGN(GpuVideoEncodeAccelerator); |
120 }; | 118 }; |
121 | 119 |
122 } // namespace content | 120 } // namespace content |
123 | 121 |
124 #endif // CONTENT_COMMON_GPU_MEDIA_GPU_VIDEO_ENCODE_ACCELERATOR_H_ | 122 #endif // CONTENT_COMMON_GPU_MEDIA_GPU_VIDEO_ENCODE_ACCELERATOR_H_ |
OLD | NEW |