Changeset 284433 in webkit
- Timestamp:
- Oct 18, 2021 8:43:17 PM (9 months ago)
- Location:
- trunk/Source/ThirdParty/libwebrtc
- Files:
-
- 3 edited
-
ChangeLog (modified) (1 diff)
-
Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm (modified) (2 diffs)
-
Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/ThirdParty/libwebrtc/ChangeLog
r284192 r284433 1 2021-10-18 Cameron McCormack <heycam@apple.com> 2 3 Always set color space for incoming H.264/265 streams 4 https://bugs.webkit.org/show_bug.cgi?id=231881 5 <rdar://problem/84350707> 6 7 Reviewed by Youenn Fablet. 8 9 Followup from https://bugs.webkit.org/show_bug.cgi?id=231353. In some 10 configurations, the "ColorInfoGuessedBy" attachment is not set on the 11 CVPixelBuffers coming out of the VTDecompressionSession, but the 12 guessed, incorrect color space attachments are still there. Since we 13 currently always have an sRGB stream, don't bother looking for 14 "ColorInfoGuessedBy". 15 16 * Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm: 17 (overrideColorSpaceAttachments): 18 (decompressionOutputCallback): 19 (overrideColorSpaceAttachmentsIfNeeded): Deleted. 20 * Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm: 21 (overrideColorSpaceAttachments): 22 (h265DecompressionOutputCallback): 23 (overrideColorSpaceAttachmentsIfNeeded): Deleted. 24 1 25 2021-10-14 Chris Dumez <cdumez@apple.com> 2 26 -
trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH264.mm
r284082 r284433 42 42 @end 43 43 44 static void overrideColorSpaceAttachmentsIfNeeded(CVImageBufferRef imageBuffer) { 45 auto guess = CVBufferGetAttachment(imageBuffer, (CFStringRef)@"ColorInfoGuessedBy", nullptr); 46 if (!guess || !CFEqual(guess, (CFStringRef)@"VideoToolbox")) 47 return; 48 44 static void overrideColorSpaceAttachments(CVImageBufferRef imageBuffer) { 49 45 CVBufferRemoveAttachment(imageBuffer, kCVImageBufferCGColorSpaceKey); 50 46 CVBufferSetAttachment(imageBuffer, kCVImageBufferColorPrimariesKey, kCVImageBufferColorPrimaries_ITU_R_709_2, kCVAttachmentMode_ShouldPropagate); … … 70 66 } 71 67 72 overrideColorSpaceAttachments IfNeeded(imageBuffer);68 overrideColorSpaceAttachments(imageBuffer); 73 69 74 70 std::unique_ptr<RTCFrameDecodeParams> decodeParams(reinterpret_cast<RTCFrameDecodeParams *>(params)); -
trunk/Source/ThirdParty/libwebrtc/Source/webrtc/sdk/objc/components/video_codec/RTCVideoDecoderH265.mm
r284082 r284433 39 39 @end 40 40 41 static void overrideColorSpaceAttachmentsIfNeeded(CVImageBufferRef imageBuffer) { 42 auto guess = CVBufferGetAttachment(imageBuffer, (CFStringRef)@"ColorInfoGuessedBy", nullptr); 43 if (!guess || !CFEqual(guess, (CFStringRef)@"VideoToolbox")) 44 return; 45 41 static void overrideColorSpaceAttachments(CVImageBufferRef imageBuffer) { 46 42 CVBufferRemoveAttachment(imageBuffer, kCVImageBufferCGColorSpaceKey); 47 43 CVBufferSetAttachment(imageBuffer, kCVImageBufferColorPrimariesKey, kCVImageBufferColorPrimaries_ITU_R_709_2, kCVAttachmentMode_ShouldPropagate); … … 67 63 } 68 64 69 overrideColorSpaceAttachments IfNeeded(imageBuffer);65 overrideColorSpaceAttachments(imageBuffer); 70 66 71 67 std::unique_ptr<RTCH265FrameDecodeParams> decodeParams(reinterpret_cast<RTCH265FrameDecodeParams*>(params));
Note: See TracChangeset
for help on using the changeset viewer.