WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
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
Details
Formatted Diff
Diff
Patch
(89.35 KB, patch)
2020-12-10 09:22 PST
,
Jer Noble
ews-feeder
: commit-queue-
Details
Formatted Diff
Diff
Patch
(90.08 KB, patch)
2020-12-10 09:48 PST
,
Jer Noble
ews-feeder
: commit-queue-
Details
Formatted Diff
Diff
Patch
(90.18 KB, patch)
2020-12-10 10:20 PST
,
Jer Noble
ews-feeder
: commit-queue-
Details
Formatted Diff
Diff
Patch
(90.12 KB, patch)
2020-12-10 10:40 PST
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Patch
(91.08 KB, patch)
2020-12-11 12:46 PST
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Patch
(91.75 KB, patch)
2020-12-11 13:50 PST
,
Jer Noble
eric.carlson
: review+
Details
Formatted Diff
Diff
Patch for landing
(91.64 KB, patch)
2020-12-11 14:24 PST
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Follow-up merge fix
(1.66 KB, patch)
2020-12-11 18:33 PST
,
Jer Noble
eric.carlson
: review+
Details
Formatted Diff
Diff
Show Obsolete
(6)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2020-12-10 00:37:07 PST
<
rdar://problem/72171055
>
Jer Noble
Comment 2
2020-12-10 00:40:11 PST
Created
attachment 415843
[details]
Patch
Jer Noble
Comment 3
2020-12-10 09:22:22 PST
Created
attachment 415883
[details]
Patch
Jer Noble
Comment 4
2020-12-10 09:48:23 PST
Created
attachment 415889
[details]
Patch
Jer Noble
Comment 5
2020-12-10 10:20:45 PST
Created
attachment 415895
[details]
Patch
Jer Noble
Comment 6
2020-12-10 10:40:50 PST
Created
attachment 415900
[details]
Patch
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
Created
attachment 416036
[details]
Patch
Jer Noble
Comment 11
2020-12-11 13:50:43 PST
Created
attachment 416041
[details]
Patch
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
Committed
r270727
: <
https://trac.webkit.org/changeset/270727
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug