Index: webrtc/modules/video_coding/main/source/generic_encoder.cc |
diff --git a/webrtc/modules/video_coding/main/source/generic_encoder.cc b/webrtc/modules/video_coding/main/source/generic_encoder.cc |
index 63e3976ca18a23c73dd073e6135dae3b14264122..c0925b95b2fb493018731e564b8aa2cad1f110ba 100644 |
--- a/webrtc/modules/video_coding/main/source/generic_encoder.cc |
+++ b/webrtc/modules/video_coding/main/source/generic_encoder.cc |
@@ -36,6 +36,41 @@ void CopyCodecSpecific(const CodecSpecificInfo* info, RTPVideoHeader* rtp) { |
rtp->simulcastIdx = info->codecSpecific.VP8.simulcastIdx; |
return; |
} |
+ case kVideoCodecVP9: { |
+ rtp->codec = kRtpVideoVp9; |
+ rtp->codecHeader.VP9.InitRTPVideoHeaderVP9(); |
+ rtp->codecHeader.VP9.inter_pic_predicted = |
+ info->codecSpecific.VP9.inter_pic_predicted; |
+ rtp->codecHeader.VP9.flexible_mode = |
+ info->codecSpecific.VP9.flexible_mode; |
+ rtp->codecHeader.VP9.ss_data_available = |
+ info->codecSpecific.VP9.ss_data_available; |
+ rtp->codecHeader.VP9.picture_id = info->codecSpecific.VP9.picture_id; |
+ rtp->codecHeader.VP9.tl0_pic_idx = info->codecSpecific.VP9.tl0_pic_idx; |
+ rtp->codecHeader.VP9.temporal_idx = info->codecSpecific.VP9.temporal_idx; |
+ rtp->codecHeader.VP9.spatial_idx = info->codecSpecific.VP9.spatial_idx; |
+ rtp->codecHeader.VP9.temporal_up_switch = |
+ info->codecSpecific.VP9.temporal_up_switch; |
+ rtp->codecHeader.VP9.inter_layer_predicted = |
+ info->codecSpecific.VP9.inter_layer_predicted; |
+ rtp->codecHeader.VP9.gof_idx = info->codecSpecific.VP9.gof_idx; |
+ |
+ if (info->codecSpecific.VP9.ss_data_available) { |
+ rtp->codecHeader.VP9.num_spatial_layers = |
+ info->codecSpecific.VP9.num_spatial_layers; |
+ rtp->codecHeader.VP9.spatial_layer_resolution_present = |
+ info->codecSpecific.VP9.spatial_layer_resolution_present; |
+ if (info->codecSpecific.VP9.spatial_layer_resolution_present) { |
+ for (size_t i = 0; i < info->codecSpecific.VP9.num_spatial_layers; |
+ ++i) { |
+ rtp->codecHeader.VP9.width[i] = info->codecSpecific.VP9.width[i]; |
+ rtp->codecHeader.VP9.height[i] = info->codecSpecific.VP9.height[i]; |
+ } |
+ } |
+ rtp->codecHeader.VP9.gof.CopyGofInfoVP9(info->codecSpecific.VP9.gof); |
+ } |
+ return; |
+ } |
case kVideoCodecH264: |
rtp->codec = kRtpVideoH264; |
return; |