summaryrefslogtreecommitdiff
path: root/video_engine/vie_encoder.cc
diff options
context:
space:
mode:
Diffstat (limited to 'video_engine/vie_encoder.cc')
-rw-r--r--video_engine/vie_encoder.cc113
1 files changed, 56 insertions, 57 deletions
diff --git a/video_engine/vie_encoder.cc b/video_engine/vie_encoder.cc
index 754626a2..3f672bae 100644
--- a/video_engine/vie_encoder.cc
+++ b/video_engine/vie_encoder.cc
@@ -43,9 +43,9 @@ class QMVideoSettingsCallback : public VCMQMSettingsCallback {
~QMVideoSettingsCallback();
// Update VPM with QM (quality modes: frame size & frame rate) settings.
- WebRtc_Word32 SetVideoQMSettings(const WebRtc_UWord32 frame_rate,
- const WebRtc_UWord32 width,
- const WebRtc_UWord32 height);
+ int32_t SetVideoQMSettings(const uint32_t frame_rate,
+ const uint32_t width,
+ const uint32_t height);
private:
VideoProcessingModule* vpm_;
@@ -82,9 +82,9 @@ class ViEPacedSenderCallback : public PacedSender::Callback {
ViEEncoder* owner_;
};
-ViEEncoder::ViEEncoder(WebRtc_Word32 engine_id,
- WebRtc_Word32 channel_id,
- WebRtc_UWord32 number_of_cores,
+ViEEncoder::ViEEncoder(int32_t engine_id,
+ int32_t channel_id,
+ uint32_t number_of_cores,
ProcessThread& module_process_thread,
BitrateController* bitrate_controller)
: engine_id_(engine_id),
@@ -266,7 +266,7 @@ void ViEEncoder::Restart() {
encoder_paused_ = false;
}
-WebRtc_Word32 ViEEncoder::DropDeltaAfterKey(bool enable) {
+int32_t ViEEncoder::DropDeltaAfterKey(bool enable) {
WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideo,
ViEId(engine_id_, channel_id_),
"%s(%d)", __FUNCTION__, enable);
@@ -287,12 +287,11 @@ WebRtc_Word32 ViEEncoder::DropDeltaAfterKey(bool enable) {
return 0;
}
-WebRtc_UWord8 ViEEncoder::NumberOfCodecs() {
+uint8_t ViEEncoder::NumberOfCodecs() {
return vcm_.NumberOfCodecs();
}
-WebRtc_Word32 ViEEncoder::GetCodec(WebRtc_UWord8 list_index,
- VideoCodec* video_codec) {
+int32_t ViEEncoder::GetCodec(uint8_t list_index, VideoCodec* video_codec) {
if (vcm_.Codec(list_index, video_codec) != 0) {
WEBRTC_TRACE(webrtc::kTraceError, webrtc::kTraceVideo,
ViEId(engine_id_, channel_id_), "%s: Could not get codec",
@@ -302,9 +301,9 @@ WebRtc_Word32 ViEEncoder::GetCodec(WebRtc_UWord8 list_index,
return 0;
}
-WebRtc_Word32 ViEEncoder::RegisterExternalEncoder(webrtc::VideoEncoder* encoder,
- WebRtc_UWord8 pl_type,
- bool internal_source) {
+int32_t ViEEncoder::RegisterExternalEncoder(webrtc::VideoEncoder* encoder,
+ uint8_t pl_type,
+ bool internal_source) {
WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideo,
ViEId(engine_id_, channel_id_), "%s: pltype %u", __FUNCTION__,
pl_type);
@@ -322,7 +321,7 @@ WebRtc_Word32 ViEEncoder::RegisterExternalEncoder(webrtc::VideoEncoder* encoder,
return 0;
}
-WebRtc_Word32 ViEEncoder::DeRegisterExternalEncoder(WebRtc_UWord8 pl_type) {
+int32_t ViEEncoder::DeRegisterExternalEncoder(uint8_t pl_type) {
WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideo,
ViEId(engine_id_, channel_id_),
"%s: pltype %u", __FUNCTION__, pl_type);
@@ -348,7 +347,7 @@ WebRtc_Word32 ViEEncoder::DeRegisterExternalEncoder(WebRtc_UWord8 pl_type) {
// If the external encoder is the current send codeci, use vcm internal
// encoder.
if (current_send_codec.plType == pl_type) {
- WebRtc_UWord16 max_data_payload_length =
+ uint16_t max_data_payload_length =
default_rtp_rtcp_->MaxDataPayloadLength();
if (vcm_.RegisterSendCodec(&current_send_codec, number_of_cores_,
max_data_payload_length) != VCM_OK) {
@@ -361,7 +360,7 @@ WebRtc_Word32 ViEEncoder::DeRegisterExternalEncoder(WebRtc_UWord8 pl_type) {
return 0;
}
-WebRtc_Word32 ViEEncoder::SetEncoder(const webrtc::VideoCodec& video_codec) {
+int32_t ViEEncoder::SetEncoder(const webrtc::VideoCodec& video_codec) {
WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideo,
ViEId(engine_id_, channel_id_),
"%s: CodecType: %d, width: %u, height: %u", __FUNCTION__,
@@ -385,7 +384,7 @@ WebRtc_Word32 ViEEncoder::SetEncoder(const webrtc::VideoCodec& video_codec) {
// Convert from kbps to bps.
default_rtp_rtcp_->SetTargetSendBitrate(video_codec.startBitrate * 1000);
- WebRtc_UWord16 max_data_payload_length =
+ uint16_t max_data_payload_length =
default_rtp_rtcp_->MaxDataPayloadLength();
if (vcm_.RegisterSendCodec(&video_codec, number_of_cores_,
@@ -415,7 +414,7 @@ WebRtc_Word32 ViEEncoder::SetEncoder(const webrtc::VideoCodec& video_codec) {
return 0;
}
-WebRtc_Word32 ViEEncoder::GetEncoder(VideoCodec* video_codec) {
+int32_t ViEEncoder::GetEncoder(VideoCodec* video_codec) {
WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideo,
ViEId(engine_id_, channel_id_), "%s", __FUNCTION__);
@@ -428,13 +427,13 @@ WebRtc_Word32 ViEEncoder::GetEncoder(VideoCodec* video_codec) {
return 0;
}
-WebRtc_Word32 ViEEncoder::GetCodecConfigParameters(
+int32_t ViEEncoder::GetCodecConfigParameters(
unsigned char config_parameters[kConfigParameterSize],
unsigned char& config_parameters_size) {
WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideo,
ViEId(engine_id_, channel_id_), "%s", __FUNCTION__);
- WebRtc_Word32 num_parameters =
+ int32_t num_parameters =
vcm_.CodecConfigParameters(config_parameters, kConfigParameterSize);
if (num_parameters <= 0) {
config_parameters_size = 0;
@@ -447,7 +446,7 @@ WebRtc_Word32 ViEEncoder::GetCodecConfigParameters(
return 0;
}
-WebRtc_Word32 ViEEncoder::ScaleInputImage(bool enable) {
+int32_t ViEEncoder::ScaleInputImage(bool enable) {
WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideo,
ViEId(engine_id_, channel_id_), "%s(enable %d)", __FUNCTION__,
enable);
@@ -489,7 +488,7 @@ RtpRtcp* ViEEncoder::SendRtpRtcpModule() {
void ViEEncoder::DeliverFrame(int id,
I420VideoFrame* video_frame,
int num_csrcs,
- const WebRtc_UWord32 CSRC[kRtpCsrcSize]) {
+ const uint32_t CSRC[kRtpCsrcSize]) {
WEBRTC_TRACE(webrtc::kTraceStream,
webrtc::kTraceVideo,
ViEId(engine_id_, channel_id_),
@@ -515,9 +514,9 @@ void ViEEncoder::DeliverFrame(int id,
// Convert render time, in ms, to RTP timestamp.
const int kMsToRtpTimestamp = 90;
- const WebRtc_UWord32 time_stamp =
+ const uint32_t time_stamp =
kMsToRtpTimestamp *
- static_cast<WebRtc_UWord32>(video_frame->render_time_ms());
+ static_cast<uint32_t>(video_frame->render_time_ms());
video_frame->set_timestamp(time_stamp);
{
CriticalSectionScoped cs(callback_cs_.get());
@@ -539,7 +538,7 @@ void ViEEncoder::DeliverFrame(int id,
// Make sure the CSRC list is correct.
if (num_csrcs > 0) {
- WebRtc_UWord32 tempCSRC[kRtpCsrcSize];
+ uint32_t tempCSRC[kRtpCsrcSize];
for (int i = 0; i < num_csrcs; i++) {
if (CSRC[i] == 1) {
tempCSRC[i] = default_rtp_rtcp_->SSRC();
@@ -547,7 +546,7 @@ void ViEEncoder::DeliverFrame(int id,
tempCSRC[i] = CSRC[i];
}
}
- default_rtp_rtcp_->SetCSRCs(tempCSRC, (WebRtc_UWord8) num_csrcs);
+ default_rtp_rtcp_->SetCSRCs(tempCSRC, (uint8_t) num_csrcs);
}
// Pass frame via preprocessor.
I420VideoFrame* decimated_frame = NULL;
@@ -639,8 +638,8 @@ int ViEEncoder::SendKeyFrame() {
return vcm_.IntraFrameRequest(0);
}
-WebRtc_Word32 ViEEncoder::SendCodecStatistics(
- WebRtc_UWord32* num_key_frames, WebRtc_UWord32* num_delta_frames) {
+int32_t ViEEncoder::SendCodecStatistics(
+ uint32_t* num_key_frames, uint32_t* num_delta_frames) {
WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideo,
ViEId(engine_id_, channel_id_), "%s", __FUNCTION__);
@@ -656,8 +655,8 @@ WebRtc_Word32 ViEEncoder::SendCodecStatistics(
return 0;
}
-WebRtc_Word32 ViEEncoder::EstimatedSendBandwidth(
- WebRtc_UWord32* available_bandwidth) const {
+int32_t ViEEncoder::EstimatedSendBandwidth(
+ uint32_t* available_bandwidth) const {
WEBRTC_TRACE(kTraceInfo, kTraceVideo, ViEId(engine_id_, channel_id_), "%s",
__FUNCTION__);
@@ -667,7 +666,7 @@ WebRtc_Word32 ViEEncoder::EstimatedSendBandwidth(
return 0;
}
-int ViEEncoder::CodecTargetBitrate(WebRtc_UWord32* bitrate) const {
+int ViEEncoder::CodecTargetBitrate(uint32_t* bitrate) const {
WEBRTC_TRACE(kTraceInfo, kTraceVideo, ViEId(engine_id_, channel_id_), "%s",
__FUNCTION__);
if (vcm_.Bitrate(bitrate) != 0)
@@ -675,16 +674,16 @@ int ViEEncoder::CodecTargetBitrate(WebRtc_UWord32* bitrate) const {
return 0;
}
-WebRtc_Word32 ViEEncoder::UpdateProtectionMethod() {
+int32_t ViEEncoder::UpdateProtectionMethod() {
bool fec_enabled = false;
- WebRtc_UWord8 dummy_ptype_red = 0;
- WebRtc_UWord8 dummy_ptypeFEC = 0;
+ uint8_t dummy_ptype_red = 0;
+ uint8_t dummy_ptypeFEC = 0;
// Updated protection method to VCM to get correct packetization sizes.
// FEC has larger overhead than NACK -> set FEC if used.
- WebRtc_Word32 error = default_rtp_rtcp_->GenericFECStatus(fec_enabled,
- dummy_ptype_red,
- dummy_ptypeFEC);
+ int32_t error = default_rtp_rtcp_->GenericFECStatus(fec_enabled,
+ dummy_ptype_red,
+ dummy_ptypeFEC);
if (error) {
return -1;
}
@@ -714,7 +713,7 @@ WebRtc_Word32 ViEEncoder::UpdateProtectionMethod() {
// The send codec must be registered to set correct MTU.
webrtc::VideoCodec codec;
if (vcm_.SendCodec(&codec) == 0) {
- WebRtc_UWord16 max_pay_load = default_rtp_rtcp_->MaxDataPayloadLength();
+ uint16_t max_pay_load = default_rtp_rtcp_->MaxDataPayloadLength();
uint32_t current_bitrate_bps = 0;
if (vcm_.Bitrate(&current_bitrate_bps) != 0) {
WEBRTC_TRACE(webrtc::kTraceWarning, webrtc::kTraceVideo,
@@ -755,13 +754,13 @@ void ViEEncoder::SetSenderBufferingMode(int target_delay_ms) {
}
}
-WebRtc_Word32 ViEEncoder::SendData(
+int32_t ViEEncoder::SendData(
const FrameType frame_type,
- const WebRtc_UWord8 payload_type,
- const WebRtc_UWord32 time_stamp,
+ const uint8_t payload_type,
+ const uint32_t time_stamp,
int64_t capture_time_ms,
- const WebRtc_UWord8* payload_data,
- const WebRtc_UWord32 payload_size,
+ const uint8_t* payload_data,
+ const uint32_t payload_size,
const webrtc::RTPFragmentationHeader& fragmentation_header,
const RTPVideoHeader* rtp_video_hdr) {
{
@@ -790,12 +789,12 @@ WebRtc_Word32 ViEEncoder::SendData(
rtp_video_hdr);
}
-WebRtc_Word32 ViEEncoder::ProtectionRequest(
+int32_t ViEEncoder::ProtectionRequest(
const FecProtectionParams* delta_fec_params,
const FecProtectionParams* key_fec_params,
- WebRtc_UWord32* sent_video_rate_bps,
- WebRtc_UWord32* sent_nack_rate_bps,
- WebRtc_UWord32* sent_fec_rate_bps) {
+ uint32_t* sent_video_rate_bps,
+ uint32_t* sent_nack_rate_bps,
+ uint32_t* sent_fec_rate_bps) {
WEBRTC_TRACE(webrtc::kTraceStream, webrtc::kTraceVideo,
ViEId(engine_id_, channel_id_),
"%s, deltaFECRate: %u, key_fecrate: %u, "
@@ -824,8 +823,8 @@ WebRtc_Word32 ViEEncoder::ProtectionRequest(
return 0;
}
-WebRtc_Word32 ViEEncoder::SendStatistics(const WebRtc_UWord32 bit_rate,
- const WebRtc_UWord32 frame_rate) {
+int32_t ViEEncoder::SendStatistics(const uint32_t bit_rate,
+ const uint32_t frame_rate) {
CriticalSectionScoped cs(callback_cs_.get());
if (codec_observer_) {
WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideo,
@@ -836,7 +835,7 @@ WebRtc_Word32 ViEEncoder::SendStatistics(const WebRtc_UWord32 bit_rate,
return 0;
}
-WebRtc_Word32 ViEEncoder::RegisterCodecObserver(ViEEncoderObserver* observer) {
+int32_t ViEEncoder::RegisterCodecObserver(ViEEncoderObserver* observer) {
CriticalSectionScoped cs(callback_cs_.get());
if (observer) {
WEBRTC_TRACE(webrtc::kTraceInfo, webrtc::kTraceVideo,
@@ -890,13 +889,13 @@ void ViEEncoder::OnReceivedIntraFrameRequest(uint32_t ssrc) {
<< ssrc_streams_.size();
return;
}
- std::map<unsigned int, WebRtc_Word64>::iterator time_it =
+ std::map<unsigned int, int64_t>::iterator time_it =
time_last_intra_request_ms_.find(ssrc);
if (time_it == time_last_intra_request_ms_.end()) {
time_last_intra_request_ms_[ssrc] = 0;
}
- WebRtc_Word64 now = TickTime::MillisecondTimestamp();
+ int64_t now = TickTime::MillisecondTimestamp();
if (time_last_intra_request_ms_[ssrc] + kViEMinKeyRequestIntervalMs > now) {
WEBRTC_TRACE(webrtc::kTraceStream, webrtc::kTraceVideo,
ViEId(engine_id_, channel_id_),
@@ -971,7 +970,7 @@ PacedSender* ViEEncoder::GetPacedSender() {
return paced_sender_.get();
}
-WebRtc_Word32 ViEEncoder::RegisterEffectFilter(ViEEffectFilter* effect_filter) {
+int32_t ViEEncoder::RegisterEffectFilter(ViEEffectFilter* effect_filter) {
CriticalSectionScoped cs(callback_cs_.get());
if (effect_filter == NULL) {
if (effect_filter_ == NULL) {
@@ -1017,10 +1016,10 @@ QMVideoSettingsCallback::QMVideoSettingsCallback(VideoProcessingModule* vpm)
QMVideoSettingsCallback::~QMVideoSettingsCallback() {
}
-WebRtc_Word32 QMVideoSettingsCallback::SetVideoQMSettings(
- const WebRtc_UWord32 frame_rate,
- const WebRtc_UWord32 width,
- const WebRtc_UWord32 height) {
+int32_t QMVideoSettingsCallback::SetVideoQMSettings(
+ const uint32_t frame_rate,
+ const uint32_t width,
+ const uint32_t height) {
return vpm_->SetTargetResolution(width, height, frame_rate);
}