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 c0925b95b2fb493018731e564b8aa2cad1f110ba..64ba242126c4afff5aa234177374bdef337db703 100644 |
--- a/webrtc/modules/video_coding/main/source/generic_encoder.cc |
+++ b/webrtc/modules/video_coding/main/source/generic_encoder.cc |
@@ -37,37 +37,38 @@ void CopyCodecSpecific(const CodecSpecificInfo* info, RTPVideoHeader* rtp) { |
return; |
} |
case kVideoCodecVP9: { |
+ RTPVideoHeaderVP9& vp9toHdr = rtp->codecHeader.VP9; |
sprang_webrtc
2015/09/07 14:39:05
We usually use references only const objects.
The
philipel
2015/09/10 14:47:02
Acknowledged.
|
+ const CodecSpecificInfoVP9& vp9fromHdr = info->codecSpecific.VP9; |
+ |
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]; |
+ vp9toHdr.InitRTPVideoHeaderVP9(); |
+ vp9toHdr.inter_pic_predicted = vp9fromHdr.inter_pic_predicted; |
+ vp9toHdr.flexible_mode = vp9fromHdr.flexible_mode; |
+ vp9toHdr.ss_data_available = vp9fromHdr.ss_data_available; |
+ vp9toHdr.picture_id = vp9fromHdr.picture_id; |
+ vp9toHdr.tl0_pic_idx = vp9fromHdr.tl0_pic_idx; |
+ vp9toHdr.temporal_idx = vp9fromHdr.temporal_idx; |
+ vp9toHdr.spatial_idx = vp9fromHdr.spatial_idx; |
+ vp9toHdr.temporal_up_switch = vp9fromHdr.temporal_up_switch; |
+ vp9toHdr.inter_layer_predicted = vp9fromHdr.inter_layer_predicted; |
+ vp9toHdr.gof_idx = vp9fromHdr.gof_idx; |
+ vp9toHdr.num_spatial_layers = vp9fromHdr.num_spatial_layers; |
+ |
+ if (vp9fromHdr.ss_data_available) { |
+ vp9toHdr.spatial_layer_resolution_present = |
+ vp9fromHdr.spatial_layer_resolution_present; |
+ if (vp9fromHdr.spatial_layer_resolution_present) { |
+ for (size_t i = 0; i < vp9fromHdr.num_spatial_layers; ++i) { |
+ vp9toHdr.width[i] = vp9fromHdr.width[i]; |
+ vp9toHdr.height[i] = vp9fromHdr.height[i]; |
} |
} |
- rtp->codecHeader.VP9.gof.CopyGofInfoVP9(info->codecSpecific.VP9.gof); |
+ vp9toHdr.gof.CopyGofInfoVP9(vp9fromHdr.gof); |
+ } |
+ |
+ vp9toHdr.num_ref_pics = vp9fromHdr.num_ref_pics; |
+ for (int i = 0; i < vp9fromHdr.num_ref_pics; ++i) { |
+ vp9toHdr.pid_diff[i] = vp9fromHdr.p_diff[i]; |
} |
sprang_webrtc
2015/09/07 14:39:05
Remove {}
philipel
2015/09/10 14:47:02
Done.
|
return; |
} |