OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 * | 9 * |
10 */ | 10 */ |
(...skipping 27 matching lines...) Expand all Loading... |
38 const std::vector<FrameType>* frame_types) override; | 38 const std::vector<FrameType>* frame_types) override; |
39 | 39 |
40 int RegisterEncodeCompleteCallback(EncodedImageCallback* callback) override; | 40 int RegisterEncodeCompleteCallback(EncodedImageCallback* callback) override; |
41 | 41 |
42 int SetChannelParameters(uint32_t packet_loss, int64_t rtt) override; | 42 int SetChannelParameters(uint32_t packet_loss, int64_t rtt) override; |
43 | 43 |
44 int SetRates(uint32_t new_bitrate_kbit, uint32_t frame_rate) override; | 44 int SetRates(uint32_t new_bitrate_kbit, uint32_t frame_rate) override; |
45 | 45 |
46 void OnDroppedFrame() override {} | 46 void OnDroppedFrame() override {} |
47 | 47 |
| 48 const char* ImplementationName() const override; |
| 49 |
48 private: | 50 private: |
49 // Determine number of encoder threads to use. | 51 // Determine number of encoder threads to use. |
50 int NumberOfThreads(int width, int height, int number_of_cores); | 52 int NumberOfThreads(int width, int height, int number_of_cores); |
51 | 53 |
52 // Call encoder initialize function and set control settings. | 54 // Call encoder initialize function and set control settings. |
53 int InitAndSetControlSettings(const VideoCodec* inst); | 55 int InitAndSetControlSettings(const VideoCodec* inst); |
54 | 56 |
55 void PopulateCodecSpecific(CodecSpecificInfo* codec_specific, | 57 void PopulateCodecSpecific(CodecSpecificInfo* codec_specific, |
56 const vpx_codec_cx_pkt& pkt, | 58 const vpx_codec_cx_pkt& pkt, |
57 uint32_t timestamp); | 59 uint32_t timestamp); |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 const RTPFragmentationHeader* fragmentation, | 109 const RTPFragmentationHeader* fragmentation, |
108 const CodecSpecificInfo* codec_specific_info, | 110 const CodecSpecificInfo* codec_specific_info, |
109 int64_t /*render_time_ms*/) override; | 111 int64_t /*render_time_ms*/) override; |
110 | 112 |
111 int RegisterDecodeCompleteCallback(DecodedImageCallback* callback) override; | 113 int RegisterDecodeCompleteCallback(DecodedImageCallback* callback) override; |
112 | 114 |
113 int Release() override; | 115 int Release() override; |
114 | 116 |
115 int Reset() override; | 117 int Reset() override; |
116 | 118 |
| 119 const char* ImplementationName() const override; |
| 120 |
117 private: | 121 private: |
118 int ReturnFrame(const vpx_image_t* img, uint32_t timeStamp); | 122 int ReturnFrame(const vpx_image_t* img, uint32_t timeStamp); |
119 | 123 |
120 // Memory pool used to share buffers between libvpx and webrtc. | 124 // Memory pool used to share buffers between libvpx and webrtc. |
121 Vp9FrameBufferPool frame_buffer_pool_; | 125 Vp9FrameBufferPool frame_buffer_pool_; |
122 DecodedImageCallback* decode_complete_callback_; | 126 DecodedImageCallback* decode_complete_callback_; |
123 bool inited_; | 127 bool inited_; |
124 vpx_codec_ctx_t* decoder_; | 128 vpx_codec_ctx_t* decoder_; |
125 VideoCodec codec_; | 129 VideoCodec codec_; |
126 bool key_frame_required_; | 130 bool key_frame_required_; |
127 }; | 131 }; |
128 } // namespace webrtc | 132 } // namespace webrtc |
129 | 133 |
130 #endif // WEBRTC_MODULES_VIDEO_CODING_CODECS_VP9_IMPL_H_ | 134 #endif // WEBRTC_MODULES_VIDEO_CODING_CODECS_VP9_IMPL_H_ |
OLD | NEW |