diff --git a/modules/video_coding/codecs/h264/h264.cc b/modules/video_coding/codecs/h264/h264.cc index b2deda5ea8..60142c88c1 100644 --- a/modules/video_coding/codecs/h264/h264.cc +++ b/modules/video_coding/codecs/h264/h264.cc @@ -90,17 +90,17 @@ std::vector SupportedH264Codecs(bool add_scalability_modes) { // // We support both packetization modes 0 (mandatory) and 1 (optional, // preferred). - return {CreateH264Format(H264Profile::kProfileBaseline, H264Level::kLevel4_2, + return {CreateH264Format(H264Profile::kProfileBaseline, H264Level::kLevel3_1, "1", add_scalability_modes), - CreateH264Format(H264Profile::kProfileBaseline, H264Level::kLevel4_2, + CreateH264Format(H264Profile::kProfileBaseline, H264Level::kLevel3_1, "0", add_scalability_modes), CreateH264Format(H264Profile::kProfileConstrainedBaseline, - H264Level::kLevel4_2, "1", add_scalability_modes), + H264Level::kLevel3_1, "1", add_scalability_modes), CreateH264Format(H264Profile::kProfileConstrainedBaseline, - H264Level::kLevel4_2, "0", add_scalability_modes), - CreateH264Format(H264Profile::kProfileMain, H264Level::kLevel4_2, "1", + H264Level::kLevel3_1, "0", add_scalability_modes), + CreateH264Format(H264Profile::kProfileMain, H264Level::kLevel3_1, "1", add_scalability_modes), - CreateH264Format(H264Profile::kProfileMain, H264Level::kLevel4_2, "0", + CreateH264Format(H264Profile::kProfileMain, H264Level::kLevel3_1, "0", add_scalability_modes)}; } @@ -111,18 +111,12 @@ std::vector SupportedH264DecoderCodecs() { std::vector supportedCodecs = SupportedH264Codecs(); + // OpenH264 doesn't yet support High Predictive 4:4:4 encoding but it does + // support decoding. supportedCodecs.push_back(CreateH264Format( - H264Profile::kProfileConstrainedHigh, H264Level::kLevel4_2, "1")); + H264Profile::kProfilePredictiveHigh444, H264Level::kLevel3_1, "1")); supportedCodecs.push_back(CreateH264Format( - H264Profile::kProfileConstrainedHigh, H264Level::kLevel4_2, "0")); - supportedCodecs.push_back( - CreateH264Format(H264Profile::kProfileHigh, H264Level::kLevel4_2, "1")); - supportedCodecs.push_back( - CreateH264Format(H264Profile::kProfileHigh, H264Level::kLevel4_2, "0")); - supportedCodecs.push_back(CreateH264Format( - H264Profile::kProfilePredictiveHigh444, H264Level::kLevel4_2, "1")); - supportedCodecs.push_back(CreateH264Format( - H264Profile::kProfilePredictiveHigh444, H264Level::kLevel4_2, "0")); + H264Profile::kProfilePredictiveHigh444, H264Level::kLevel3_1, "0")); return supportedCodecs; } diff --git a/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc b/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc index 03a8beca23..40569597f3 100644 --- a/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc +++ b/modules/video_coding/codecs/test/videocodec_test_fixture_impl.cc @@ -178,7 +178,7 @@ SdpVideoFormat CreateSdpVideoFormat( CodecParameterMap codec_params = { {cricket::kH264FmtpProfileLevelId, *H264ProfileLevelIdToString(H264ProfileLevelId( - config.h264_codec_settings.profile, H264Level::kLevel4_2))}, + config.h264_codec_settings.profile, H264Level::kLevel3_1))}, {cricket::kH264FmtpPacketizationMode, packetization_mode}, {cricket::kH264FmtpLevelAsymmetryAllowed, "1"}};