video_coding: Adding the non reference flag to the receive side logic.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@1157 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
mikhal@webrtc.org 2011-12-12 02:29:34 +00:00
parent 114c790be7
commit ea71440aec
4 changed files with 12 additions and 0 deletions

View File

@ -80,6 +80,10 @@ int VCMFrameBuffer::Tl0PicId() const {
return _sessionInfo.Tl0PicId(); return _sessionInfo.Tl0PicId();
} }
bool VCMFrameBuffer::NonReference() const {
return _sessionInfo.NonReference();
}
bool bool
VCMFrameBuffer::IsSessionComplete() const VCMFrameBuffer::IsSessionComplete() const
{ {

View File

@ -59,6 +59,7 @@ public:
int PictureId() const; int PictureId() const;
int TemporalId() const; int TemporalId() const;
int Tl0PicId() const; int Tl0PicId() const;
bool NonReference() const;
// Set counted status (as counted by JB or not) // Set counted status (as counted by JB or not)
void SetCountedFrame(bool frameCounted); void SetCountedFrame(bool frameCounted);

View File

@ -73,6 +73,12 @@ int VCMSessionInfo::Tl0PicId() const {
return _packets[0].codecSpecificHeader.codecHeader.VP8.tl0PicIdx; return _packets[0].codecSpecificHeader.codecHeader.VP8.tl0PicIdx;
} }
bool VCMSessionInfo::NonReference() const {
if (_lowSeqNum == -1 || _packets[0].codecSpecificHeader.codec != kRTPVideoVP8)
return false;
return _packets[0].codecSpecificHeader.codecHeader.VP8.nonReference;
}
void void
VCMSessionInfo::Reset() { VCMSessionInfo::Reset() {
for (int i = 0; i <= _highestPacketIndex; ++i) for (int i = 0; i <= _highestPacketIndex; ++i)

View File

@ -79,6 +79,7 @@ public:
int PictureId() const; int PictureId() const;
int TemporalId() const; int TemporalId() const;
int Tl0PicId() const; int Tl0PicId() const;
bool NonReference() const;
WebRtc_UWord32 PrepareForDecode(WebRtc_UWord8* ptrStartOfLayer, WebRtc_UWord32 PrepareForDecode(WebRtc_UWord8* ptrStartOfLayer,
VideoCodecType codec); VideoCodecType codec);