| 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_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ | 5 #ifndef MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ |
| 6 #define MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ | 6 #define MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 int surface_id = kNoSurfaceID; | 149 int surface_id = kNoSurfaceID; |
| 150 | 150 |
| 151 // Coded size of the video frame hint, subject to change. | 151 // Coded size of the video frame hint, subject to change. |
| 152 gfx::Size initial_expected_coded_size = gfx::Size(320, 240); | 152 gfx::Size initial_expected_coded_size = gfx::Size(320, 240); |
| 153 | 153 |
| 154 OutputMode output_mode = OutputMode::ALLOCATE; | 154 OutputMode output_mode = OutputMode::ALLOCATE; |
| 155 | 155 |
| 156 // The list of picture buffer formats that the client knows how to use. An | 156 // The list of picture buffer formats that the client knows how to use. An |
| 157 // empty list means any format is supported. | 157 // empty list means any format is supported. |
| 158 std::vector<VideoPixelFormat> supported_output_formats; | 158 std::vector<VideoPixelFormat> supported_output_formats; |
| 159 |
| 160 // The H264 SPS and PPS configuration data. Not all clients populate these |
| 161 // fields, so they should be parsed from the bitstream instead, if required. |
| 162 // Each SPS and PPS is prefixed with the Annex B framing bytes: 0, 0, 0, 1. |
| 163 std::vector<uint8_t> sps; |
| 164 std::vector<uint8_t> pps; |
| 159 }; | 165 }; |
| 160 | 166 |
| 161 // Interface for collaborating with picture interface to provide memory for | 167 // Interface for collaborating with picture interface to provide memory for |
| 162 // output picture and blitting them. These callbacks will not be made unless | 168 // output picture and blitting them. These callbacks will not be made unless |
| 163 // Initialize() has returned successfully. | 169 // Initialize() has returned successfully. |
| 164 // This interface is extended by the various layers that relay messages back | 170 // This interface is extended by the various layers that relay messages back |
| 165 // to the plugin, through the PPP_VideoDecoder_Dev interface the plugin | 171 // to the plugin, through the PPP_VideoDecoder_Dev interface the plugin |
| 166 // implements. | 172 // implements. |
| 167 class MEDIA_EXPORT Client { | 173 class MEDIA_EXPORT Client { |
| 168 public: | 174 public: |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 344 // std::unique_ptr<VideoDecodeAccelerator> uses "Destroy()" instead of trying to | 350 // std::unique_ptr<VideoDecodeAccelerator> uses "Destroy()" instead of trying to |
| 345 // use the destructor. | 351 // use the destructor. |
| 346 template <> | 352 template <> |
| 347 struct MEDIA_EXPORT default_delete<media::VideoDecodeAccelerator> { | 353 struct MEDIA_EXPORT default_delete<media::VideoDecodeAccelerator> { |
| 348 void operator()(media::VideoDecodeAccelerator* vda) const; | 354 void operator()(media::VideoDecodeAccelerator* vda) const; |
| 349 }; | 355 }; |
| 350 | 356 |
| 351 } // namespace std | 357 } // namespace std |
| 352 | 358 |
| 353 #endif // MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ | 359 #endif // MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ |
| OLD | NEW |