RESOLVED FIXED 219732
[Cocoa] Add Experimental VP8 support
https://bugs.webkit.org/show_bug.cgi?id=219732
Summary [Cocoa] Add Experimental VP8 support
Jer Noble
Reported 2020-12-10 00:36:26 PST
[Cocoa] Add Experimental VP8 support
Attachments
Patch (86.93 KB, patch)
2020-12-10 00:40 PST, Jer Noble
no flags
Patch (89.35 KB, patch)
2020-12-10 09:22 PST, Jer Noble
ews-feeder: commit-queue-
Patch (90.08 KB, patch)
2020-12-10 09:48 PST, Jer Noble
ews-feeder: commit-queue-
Patch (90.18 KB, patch)
2020-12-10 10:20 PST, Jer Noble
ews-feeder: commit-queue-
Patch (90.12 KB, patch)
2020-12-10 10:40 PST, Jer Noble
no flags
Patch (91.08 KB, patch)
2020-12-11 12:46 PST, Jer Noble
no flags
Patch (91.75 KB, patch)
2020-12-11 13:50 PST, Jer Noble
eric.carlson: review+
Patch for landing (91.64 KB, patch)
2020-12-11 14:24 PST, Jer Noble
no flags
Follow-up merge fix (1.66 KB, patch)
2020-12-11 18:33 PST, Jer Noble
eric.carlson: review+
Radar WebKit Bug Importer
Comment 1 2020-12-10 00:37:07 PST
Jer Noble
Comment 2 2020-12-10 00:40:11 PST
Jer Noble
Comment 3 2020-12-10 09:22:22 PST
Jer Noble
Comment 4 2020-12-10 09:48:23 PST
Jer Noble
Comment 5 2020-12-10 10:20:45 PST
Jer Noble
Comment 6 2020-12-10 10:40:50 PST
Peng Liu
Comment 7 2020-12-10 12:59:52 PST
Comment on attachment 415900 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=415900&action=review > Source/ThirdParty/libwebrtc/ChangeLog:29 > + * Source/webrtc/sdk/WebKit/WebKitVP8Decoder.h: Copied from Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoa.h. Nit. I am afraid we need to update the change log generator. It often produces such information for newly added files. > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitDecoderReceiver.cpp:79 > + } while (false); Why do we need this "do ... while" loop trick? > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitDecoderReceiver.cpp:93 > + auto createPixelFormatAttributes = [] (OSType pixelFormat, int32_t borderPixels) { Nit. The space between [] and () can be removed. > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitDecoderReceiver.cpp:94 > + auto createNumber = [] (int32_t format) -> CFNumberRef { Ditto. > Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp:1142 > + uint16_t height; No default value for height? > Source/WebKit/GPUProcess/GPUProcess.cpp:304 > + m_enableVP8Decoder = true; Does this flag make sense for other ports?
Jer Noble
Comment 8 2020-12-10 14:11:43 PST
(In reply to Peng Liu from comment #7) > Comment on attachment 415900 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=415900&action=review > > > Source/ThirdParty/libwebrtc/ChangeLog:29 > > + * Source/webrtc/sdk/WebKit/WebKitVP8Decoder.h: Copied from Source/WebCore/platform/graphics/cocoa/VP9UtilitiesCocoa.h. > > Nit. I am afraid we need to update the change log generator. It often > produces such information for newly added files. > > > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitDecoderReceiver.cpp:79 > > + } while (false); > > Why do we need this "do ... while" loop trick? It lets us do "early return"-style logic without having to create a self-running lambda. > > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitDecoderReceiver.cpp:93 > > + auto createPixelFormatAttributes = [] (OSType pixelFormat, int32_t borderPixels) { > > Nit. The space between [] and () can be removed. > > > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitDecoderReceiver.cpp:94 > > + auto createNumber = [] (int32_t format) -> CFNumberRef { > > Ditto. This code is just being moved from one file to the other, so I wanted to avoid changing it at all. > > Source/WebCore/platform/graphics/cocoa/SourceBufferParserWebM.cpp:1142 > > + uint16_t height; > > No default value for height? Will add. > > Source/WebKit/GPUProcess/GPUProcess.cpp:304 > > + m_enableVP8Decoder = true; > > Does this flag make sense for other ports? Probably not; but it won't affect them unless they set the ENABLE(VP9) flag.
Sam Weinig
Comment 9 2020-12-11 11:37:02 PST
Comment on attachment 415900 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=415900&action=review > Source/WebKit/ChangeLog:7 > + Please fill in the ChangeLog.
Jer Noble
Comment 10 2020-12-11 12:46:08 PST
Jer Noble
Comment 11 2020-12-11 13:50:43 PST
Eric Carlson
Comment 12 2020-12-11 14:06:45 PST
Comment on attachment 416041 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=416041&action=review > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitDecoderReceiver.cpp:79 > + } while (false); You can use early returns instead of this loop. > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitDecoderReceiver.cpp:102 > + auto borderPixelsValue = createNumber(32); Why not use the `borderPixels` parameter? > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitDecoderReceiver.cpp:146 > + OSStatus vtError = kVTVideoDecoderBadDataErr; Nit: you could set this in a trailing `else` clause
Jer Noble
Comment 13 2020-12-11 14:21:36 PST
(In reply to Eric Carlson from comment #12) > Comment on attachment 416041 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=416041&action=review > > > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitDecoderReceiver.cpp:79 > > + } while (false); > > You can use early returns instead of this loop. Ok. > > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitDecoderReceiver.cpp:102 > > + auto borderPixelsValue = createNumber(32); > > Why not use the `borderPixels` parameter? No idea why we have the borderPixels parameter in the first place, since this just used locally with a hard coded value. > > Source/ThirdParty/libwebrtc/Source/webrtc/sdk/WebKit/WebKitDecoderReceiver.cpp:146 > > + OSStatus vtError = kVTVideoDecoderBadDataErr; > > Nit: you could set this in a trailing `else` clause Ok.
Jer Noble
Comment 14 2020-12-11 14:24:28 PST
Created attachment 416047 [details] Patch for landing
EWS
Comment 15 2020-12-11 16:57:41 PST
Committed r270720: <https://trac.webkit.org/changeset/270720> All reviewed patches have been landed. Closing bug and clearing flags on attachment 416047 [details].
Jer Noble
Comment 16 2020-12-11 18:33:37 PST
Reopening to attach new patch.
Jer Noble
Comment 17 2020-12-11 18:33:38 PST
Created attachment 416083 [details] Follow-up merge fix
Jer Noble
Comment 18 2020-12-11 18:37:56 PST
Note You need to log in before you can comment on or make changes to this bug.