use fullrange by default for yuv420p if supported (#6655)

1. Explicitly specify the color space as bt601
2. Use fullrange by default for yuv420p if supported
3. Use the pix_fmt space range format to identify codec capabilities, make i444 proto field deprecated, and cause the non-release version of 444 true color to fail.

Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
21pages
2023-12-11 22:31:01 +08:00
committed by GitHub
parent 2797a28c0d
commit 80afa98d66
15 changed files with 388 additions and 141 deletions

View File

@@ -1230,6 +1230,17 @@ impl<T: InvokeUiSession> Session<T> {
pub fn close_voice_call(&self) {
self.send(Data::CloseVoiceCall);
}
pub fn is_codec_support_444(&self, codec: String) -> bool {
let codec = codec.to_uppercase();
let encoding = self.lc.read().unwrap().supported_encoding.clone();
// decoding support following
match codec.as_str() {
"VP9" => encoding.color_abilities.vp9.yuv444p_bt601_studio,
"AV1" => encoding.color_abilities.av1.yuv444p_bt601_studio,
_ => false,
}
}
}
pub trait InvokeUiSession: Send + Sync + Clone + 'static + Sized + Default {