| 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 e4408d1f7e7401f80da155124ff41351c7f7a2ee..4d303904a6046621e32751c911eaf08ca6208469 100644
|
| --- a/webrtc/modules/video_coding/main/source/generic_encoder.cc
|
| +++ b/webrtc/modules/video_coding/main/source/generic_encoder.cc
|
| @@ -37,40 +37,38 @@ void CopyCodecSpecific(const CodecSpecificInfo* info, RTPVideoHeader* rtp) {
|
| return;
|
| }
|
| case kVideoCodecVP9: {
|
| + RTPVideoHeaderVP9& vp9toHdr = rtp->codecHeader.VP9;
|
| + 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;
|
| -
|
| - // Packetizer needs to know the number of spatial layers to correctly set
|
| - // the marker bit, even when the number won't be written in the packet.
|
| - rtp->codecHeader.VP9.num_spatial_layers =
|
| - info->codecSpecific.VP9.num_spatial_layers;
|
| - if (info->codecSpecific.VP9.ss_data_available) {
|
| - 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];
|
| return;
|
| }
|
| case kVideoCodecH264:
|
|
|