Implemented NACK based reference picture selection.

This CL implements NACK based reference picture selection for VP8. A separate
class is used for keeping track of the references and managing the VP8 encode
flags. Appropriate tests have also been added.

BUG=
TEST=

Review URL: http://webrtc-codereview.appspot.com/284002

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1082 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
stefan@webrtc.org
2011-12-02 08:34:05 +00:00
parent 4b00560a6e
commit a4a88f90c4
30 changed files with 964 additions and 314 deletions

View File

@@ -547,7 +547,7 @@ VideoCodingModuleImpl::FrameRate() const
WebRtc_Word32
VideoCodingModuleImpl::SetChannelParameters(WebRtc_UWord32 availableBandWidth,
WebRtc_UWord8 lossRate,
WebRtc_UWord32 RTT)
WebRtc_UWord32 rtt)
{
WEBRTC_TRACE(webrtc::kTraceModuleCall,
webrtc::kTraceVideoCoding,
@@ -558,10 +558,10 @@ VideoCodingModuleImpl::SetChannelParameters(WebRtc_UWord32 availableBandWidth,
CriticalSectionScoped sendCs(_sendCritSect);
WebRtc_UWord32 targetRate = _mediaOpt.SetTargetRates(availableBandWidth,
lossRate,
RTT);
rtt);
if (_encoder != NULL)
{
ret = _encoder->SetPacketLoss(lossRate);
ret = _encoder->SetChannelParameters(lossRate, rtt);
if (ret < 0 )
{
return ret;
@@ -582,14 +582,14 @@ VideoCodingModuleImpl::SetChannelParameters(WebRtc_UWord32 availableBandWidth,
}
WebRtc_Word32
VideoCodingModuleImpl::SetReceiveChannelParameters(WebRtc_UWord32 RTT)
VideoCodingModuleImpl::SetReceiveChannelParameters(WebRtc_UWord32 rtt)
{
WEBRTC_TRACE(webrtc::kTraceModuleCall,
webrtc::kTraceVideoCoding,
VCMId(_id),
"SetReceiveChannelParameters()");
CriticalSectionScoped receiveCs(_receiveCritSect);
_receiver.UpdateRtt(RTT);
_receiver.UpdateRtt(rtt);
return 0;
}