From e7696f771d7391aad6b40e67fc7dc1282c22ff2c Mon Sep 17 00:00:00 2001 From: Zhaoliang Ma Date: Wed, 20 Jul 2022 15:30:10 +0800 Subject: [PATCH] Plumb color space from VP8/VP9/H264 encoder Bug: None Change-Id: If771d9486bde01d5a2775d904a01ecf3953e75df Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/268944 Commit-Queue: Zhaoliang Ma Reviewed-by: Ilya Nikolaevskiy Cr-Commit-Position: refs/heads/main@{#37566} --- modules/video_coding/codecs/h264/h264_encoder_impl.cc | 1 + modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc | 1 + modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc | 1 + 3 files changed, 3 insertions(+) diff --git a/modules/video_coding/codecs/h264/h264_encoder_impl.cc b/modules/video_coding/codecs/h264/h264_encoder_impl.cc index f4bda6526f..f6d52c6539 100644 --- a/modules/video_coding/codecs/h264/h264_encoder_impl.cc +++ b/modules/video_coding/codecs/h264/h264_encoder_impl.cc @@ -480,6 +480,7 @@ int32_t H264EncoderImpl::Encode( encoded_images_[i]._encodedWidth = configurations_[i].width; encoded_images_[i]._encodedHeight = configurations_[i].height; encoded_images_[i].SetTimestamp(input_frame.timestamp()); + encoded_images_[i].SetColorSpace(input_frame.color_space()); encoded_images_[i]._frameType = ConvertToVideoFrameType(info.eFrameType); encoded_images_[i].SetSpatialIndex(configurations_[i].simulcast_idx); diff --git a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc index d6e95e09af..dc0344c1ed 100644 --- a/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc +++ b/modules/video_coding/codecs/vp8/libvpx_vp8_encoder.cc @@ -1162,6 +1162,7 @@ int LibvpxVp8Encoder::GetEncodedPartitions(const VideoFrame& input_image, } } encoded_images_[encoder_idx].SetTimestamp(input_image.timestamp()); + encoded_images_[encoder_idx].SetColorSpace(input_image.color_space()); encoded_images_[encoder_idx].SetRetransmissionAllowed( retransmission_allowed); diff --git a/modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc b/modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc index 609990e641..833afeb19e 100644 --- a/modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc +++ b/modules/video_coding/codecs/vp9/libvpx_vp9_encoder.cc @@ -1739,6 +1739,7 @@ void LibvpxVp9Encoder::GetEncodedLayerFrame(const vpx_codec_cx_pkt* pkt) { TRACE_COUNTER1("webrtc", "EncodedFrameSize", encoded_image_.size()); encoded_image_.SetTimestamp(input_image_->timestamp()); + encoded_image_.SetColorSpace(input_image_->color_space()); encoded_image_._encodedHeight = pkt->data.frame.height[layer_id.spatial_layer_id]; encoded_image_._encodedWidth =