Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(793)

Unified Diff: webrtc/modules/video_coding/main/source/encoded_frame.cc

Issue 1211353002: Integration of VP9 packetization. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: refactor and remove test helper class Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/modules/video_coding/main/source/encoded_frame.cc
diff --git a/webrtc/modules/video_coding/main/source/encoded_frame.cc b/webrtc/modules/video_coding/main/source/encoded_frame.cc
index 2830399dd6ed129e742b67dac2cb3ca848f2ccb2..ef247c78cf7814e8d03c4c8d08ef0f6305e88900 100644
--- a/webrtc/modules/video_coding/main/source/encoded_frame.cc
+++ b/webrtc/modules/video_coding/main/source/encoded_frame.cc
@@ -132,6 +132,70 @@ void VCMEncodedFrame::CopyCodecSpecific(const RTPVideoHeader* header)
}
break;
}
+ case kRtpVideoVp9: {
+ if (_codecSpecificInfo.codecType != kVideoCodecVP9) {
+ // This is the first packet for this frame.
+ _codecSpecificInfo.codecSpecific.VP9.pictureId = -1;
+ _codecSpecificInfo.codecSpecific.VP9.temporalIdx = 0;
+ _codecSpecificInfo.codecSpecific.VP9.spatialIdx = 0;
+ _codecSpecificInfo.codecSpecific.VP9.gofIdx = 0;
+ _codecSpecificInfo.codecSpecific.VP9.interLayerPredicted = false;
+ _codecSpecificInfo.codecSpecific.VP9.tl0PicIdx = -1;
+ _codecSpecificInfo.codecType = kVideoCodecVP9;
+ }
+ _codecSpecificInfo.codecSpecific.VP9.interPicPredicted =
+ header->codecHeader.VP9.interPicPredicted;
+ _codecSpecificInfo.codecSpecific.VP9.flexibleMode =
+ header->codecHeader.VP9.flexibleMode;
+ _codecSpecificInfo.codecSpecific.VP9.beginningOfFrame =
+ header->codecHeader.VP9.beginningOfFrame;
+ _codecSpecificInfo.codecSpecific.VP9.endOfFrame =
+ header->codecHeader.VP9.endOfFrame;
+ _codecSpecificInfo.codecSpecific.VP9.ssDataAvailable =
+ header->codecHeader.VP9.ssDataAvailable;
+ if (header->codecHeader.VP9.pictureId != kNoPictureId) {
+ _codecSpecificInfo.codecSpecific.VP9.pictureId =
+ header->codecHeader.VP9.pictureId;
+ }
+ if (header->codecHeader.VP9.tl0PicIdx != kNoTl0PicIdx) {
+ _codecSpecificInfo.codecSpecific.VP9.tl0PicIdx =
+ header->codecHeader.VP9.tl0PicIdx;
+ }
+ if (header->codecHeader.VP9.temporalIdx != kNoTemporalIdx) {
+ _codecSpecificInfo.codecSpecific.VP9.temporalIdx =
+ header->codecHeader.VP9.temporalIdx;
+ _codecSpecificInfo.codecSpecific.VP9.temporalUpSwitch =
+ header->codecHeader.VP9.temporalUpSwitch;
+ }
+ if (header->codecHeader.VP9.spatialIdx != kNoSpatialIdx) {
+ _codecSpecificInfo.codecSpecific.VP9.spatialIdx =
+ header->codecHeader.VP9.spatialIdx;
+ _codecSpecificInfo.codecSpecific.VP9.interLayerPredicted =
+ header->codecHeader.VP9.interLayerPredicted;
+ }
+ if (header->codecHeader.VP9.gofIdx != kNoGofIdx) {
+ _codecSpecificInfo.codecSpecific.VP9.gofIdx =
+ header->codecHeader.VP9.gofIdx;
+ }
+ if (header->codecHeader.VP9.ssDataAvailable) {
+ _codecSpecificInfo.codecSpecific.VP9.numSpatialLayers =
+ header->codecHeader.VP9.numSpatialLayers;
+ _codecSpecificInfo.codecSpecific.VP9.spatialLayerResolutionPresent =
+ header->codecHeader.VP9.spatialLayerResolutionPresent;
+ if (header->codecHeader.VP9.spatialLayerResolutionPresent) {
+ for (uint8_t s = 0; s < header->codecHeader.VP9.numSpatialLayers;
stefan-webrtc 2015/07/09 14:49:00 Index i instead of s
åsapersson 2015/07/29 12:10:12 Done.
+ s++) {
stefan-webrtc 2015/07/09 14:49:00 ++i
åsapersson 2015/07/29 12:10:13 Done.
+ _codecSpecificInfo.codecSpecific.VP9.width[s] =
+ header->codecHeader.VP9.width[s];
+ _codecSpecificInfo.codecSpecific.VP9.height[s] =
+ header->codecHeader.VP9.height[s];
+ }
+ }
+ _codecSpecificInfo.codecSpecific.VP9.gof.CopyGofInfoVP9(
+ header->codecHeader.VP9.gof);
+ }
+ break;
+ }
case kRtpVideoH264: {
_codecSpecificInfo.codecType = kVideoCodecH264;
break;

Powered by Google App Engine
This is Rietveld 408576698