Add chroma siting to color space RTP extension

- Add chroma siting to color space RTP extension.
- Use 16 bits for max/min luminance.
- Change denominator of chromaticity and luminance.
- Add RTC_DCHECKs to protect against overflows.

Bug: webrtc:8651
Change-Id: If8b95bad6241381224eaba9c5bccce06a65a9195
Reviewed-on: https://webrtc-review.googlesource.com/c/113804
Commit-Queue: Johannes Kron <kron@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25990}
This commit is contained in:
Johannes Kron
2018-12-12 09:52:53 +01:00
committed by Commit Bot
parent 0697ce2a76
commit c13f4be5f4
4 changed files with 165 additions and 85 deletions

View File

@ -205,14 +205,13 @@ HdrMetadata CreateTestHdrMetadata() {
}
ColorSpace CreateTestColorSpace(bool with_hdr_metadata) {
ColorSpace color_space(
HdrMetadata hdr_metadata = CreateTestHdrMetadata();
return ColorSpace(
ColorSpace::PrimaryID::kBT709, ColorSpace::TransferID::kGAMMA22,
ColorSpace::MatrixID::kSMPTE2085, ColorSpace::RangeID::kFull);
if (with_hdr_metadata) {
HdrMetadata hdr_metadata = CreateTestHdrMetadata();
color_space.set_hdr_metadata(&hdr_metadata);
}
return color_space;
ColorSpace::MatrixID::kSMPTE2085, ColorSpace::RangeID::kFull,
ColorSpace::ChromaSiting::kCollocated,
ColorSpace::ChromaSiting::kCollocated,
with_hdr_metadata ? &hdr_metadata : nullptr);
}
void TestCreateAndParseColorSpaceExtension(bool with_hdr_metadata) {