WebKit Bugzilla
Attachment 361916 Details for
Bug 194580
: [Cocoa] Switch to CVPixelBufferGetBytesPerRow() for calculating CVPixelBuffer base address size.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-194580-20190213064537.patch (text/plain), 5.32 KB, created by
Jer Noble
on 2019-02-13 06:45:40 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Jer Noble
Created:
2019-02-13 06:45:40 PST
Size:
5.32 KB
patch
obsolete
>Subversion Revision: 241337 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index a8f5ce8b48be54d6794f0b0731e32dda73bd8016..052c219b01b08dd1515335c2e114975f839ed767 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,17 @@ >+2019-02-12 Jer Noble <jer.noble@apple.com> >+ >+ [Cocoa] Switch to CVPixelBufferGetBytesPerRow() for calculating CVPixelBuffer base address size. >+ https://bugs.webkit.org/show_bug.cgi?id=194580 >+ <rdar://problem/42727739> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * platform/cocoa/CoreVideoSoftLink.cpp: >+ * platform/cocoa/CoreVideoSoftLink.h: >+ * platform/graphics/cv/PixelBufferConformerCV.cpp: >+ (WebCore::CVPixelBufferGetBytePointerCallback): >+ (WebCore::PixelBufferConformerCV::createImageFromPixelBuffer): >+ > 2019-02-11 Jer Noble <jer.noble@apple.com> > > Unreviewed build fix; add a HAVE_CELESTIAL guard around Celestial framework usage. >diff --git a/Source/WebCore/platform/cocoa/CoreVideoSoftLink.cpp b/Source/WebCore/platform/cocoa/CoreVideoSoftLink.cpp >index dcfb1cfb47a03d373a3a622874e70385916ce08b..a64a0a923881dc8a166e2c4503f7275fbd742038 100644 >--- a/Source/WebCore/platform/cocoa/CoreVideoSoftLink.cpp >+++ b/Source/WebCore/platform/cocoa/CoreVideoSoftLink.cpp >@@ -41,7 +41,6 @@ SOFT_LINK_FUNCTION_FOR_SOURCE(WebCore, CoreVideo, CVPixelBufferGetHeight, size_t > SOFT_LINK_FUNCTION_FOR_SOURCE(WebCore, CoreVideo, CVPixelBufferGetBaseAddress, void*, (CVPixelBufferRef pixelBuffer), (pixelBuffer)) > SOFT_LINK_FUNCTION_FOR_SOURCE(WebCore, CoreVideo, CVPixelBufferGetBytesPerRow, size_t, (CVPixelBufferRef pixelBuffer), (pixelBuffer)) > SOFT_LINK_FUNCTION_FOR_SOURCE(WebCore, CoreVideo, CVPixelBufferGetBytesPerRowOfPlane, size_t, (CVPixelBufferRef pixelBuffer, size_t planeIndex), (pixelBuffer, planeIndex)) >-SOFT_LINK_FUNCTION_FOR_SOURCE(WebCore, CoreVideo, CVPixelBufferGetDataSize, size_t, (CVPixelBufferRef pixelBuffer), (pixelBuffer)) > SOFT_LINK_FUNCTION_FOR_SOURCE(WebCore, CoreVideo, CVPixelBufferGetPixelFormatType, OSType, (CVPixelBufferRef pixelBuffer), (pixelBuffer)) > SOFT_LINK_FUNCTION_FOR_SOURCE(WebCore, CoreVideo, CVPixelBufferGetBaseAddressOfPlane, void *, (CVPixelBufferRef pixelBuffer, size_t planeIndex), (pixelBuffer, planeIndex)); > SOFT_LINK_FUNCTION_FOR_SOURCE(WebCore, CoreVideo, CVPixelBufferLockBaseAddress, CVReturn, (CVPixelBufferRef pixelBuffer, CVOptionFlags lockFlags), (pixelBuffer, lockFlags)) >diff --git a/Source/WebCore/platform/cocoa/CoreVideoSoftLink.h b/Source/WebCore/platform/cocoa/CoreVideoSoftLink.h >index 5295e58c8470f52f2ad843b167a17947708d54b8..6d0bf4f85b4ead9e79661e41a962078c60069545 100644 >--- a/Source/WebCore/platform/cocoa/CoreVideoSoftLink.h >+++ b/Source/WebCore/platform/cocoa/CoreVideoSoftLink.h >@@ -48,8 +48,6 @@ SOFT_LINK_FUNCTION_FOR_HEADER(WebCore, CoreVideo, CVPixelBufferGetBytesPerRow, s > #define CVPixelBufferGetBytesPerRow softLink_CoreVideo_CVPixelBufferGetBytesPerRow > SOFT_LINK_FUNCTION_FOR_HEADER(WebCore, CoreVideo, CVPixelBufferGetBytesPerRowOfPlane, size_t, (CVPixelBufferRef pixelBuffer, size_t planeIndex), (pixelBuffer, planeIndex)) > #define CVPixelBufferGetBytesPerRowOfPlane softLink_CoreVideo_CVPixelBufferGetBytesPerRowOfPlane >-SOFT_LINK_FUNCTION_FOR_HEADER(WebCore, CoreVideo, CVPixelBufferGetDataSize, size_t, (CVPixelBufferRef pixelBuffer), (pixelBuffer)) >-#define CVPixelBufferGetDataSize softLink_CoreVideo_CVPixelBufferGetDataSize > SOFT_LINK_FUNCTION_FOR_HEADER(WebCore, CoreVideo, CVPixelBufferGetPixelFormatType, OSType, (CVPixelBufferRef pixelBuffer), (pixelBuffer)) > #define CVPixelBufferGetPixelFormatType softLink_CoreVideo_CVPixelBufferGetPixelFormatType > SOFT_LINK_FUNCTION_FOR_HEADER(WebCore, CoreVideo, CVPixelBufferGetBaseAddressOfPlane, void *, (CVPixelBufferRef pixelBuffer, size_t planeIndex), (pixelBuffer, planeIndex)); >diff --git a/Source/WebCore/platform/graphics/cv/PixelBufferConformerCV.cpp b/Source/WebCore/platform/graphics/cv/PixelBufferConformerCV.cpp >index c6433e5acfc9ff5c8fe630cf2e6b3efc4b409a76..30688b71dade346a5529cf7cfc80250834f8ab78 100644 >--- a/Source/WebCore/platform/graphics/cv/PixelBufferConformerCV.cpp >+++ b/Source/WebCore/platform/graphics/cv/PixelBufferConformerCV.cpp >@@ -76,8 +76,10 @@ static const void* CVPixelBufferGetBytePointerCallback(void* refcon) > > ++info->lockCount; > void* address = CVPixelBufferGetBaseAddress(info->pixelBuffer.get()); >- verifyImageBufferIsBigEnough(address, CVPixelBufferGetDataSize(info->pixelBuffer.get())); >- RELEASE_LOG_INFO(Media, "CVPixelBufferGetBytePointerCallback() returning bytePointer: %p, size: %zu", address, CVPixelBufferGetDataSize(info->pixelBuffer.get())); >+ size_t byteLength = CVPixelBufferGetBytesPerRow(info->pixelBuffer.get()) * CVPixelBufferGetHeight(info->pixelBuffer.get()); >+ >+ verifyImageBufferIsBigEnough(address, byteLength); >+ RELEASE_LOG_INFO(Media, "CVPixelBufferGetBytePointerCallback() returning bytePointer: %p, size: %zu", address, byteLength); > return address; > } > >@@ -170,7 +172,7 @@ RetainPtr<CGImageRef> PixelBufferConformerCV::createImageFromPixelBuffer(CVPixel > > CGBitmapInfo bitmapInfo = kCGBitmapByteOrder32Little | kCGImageAlphaFirst; > size_t bytesPerRow = CVPixelBufferGetBytesPerRow(buffer.get()); >- size_t byteLength = CVPixelBufferGetDataSize(buffer.get()); >+ size_t byteLength = bytesPerRow * height; > > ASSERT(byteLength); > if (!byteLength)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 194580
:
361892
| 361916