Changeset 241437 in webkit
- Timestamp:
- Feb 13, 2019 9:45:23 AM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r241432 r241437 1 2019-02-13 Jer Noble <jer.noble@apple.com> 2 3 [Cocoa] Switch to CVPixelBufferGetBytesPerRow() for calculating CVPixelBuffer base address size. 4 https://bugs.webkit.org/show_bug.cgi?id=194580 5 <rdar://problem/42727739> 6 7 Reviewed by Eric Carlson. 8 9 * platform/cocoa/CoreVideoSoftLink.cpp: 10 * platform/cocoa/CoreVideoSoftLink.h: 11 * platform/graphics/cv/PixelBufferConformerCV.cpp: 12 (WebCore::CVPixelBufferGetBytePointerCallback): 13 (WebCore::PixelBufferConformerCV::createImageFromPixelBuffer): 14 1 15 2019-02-13 Antoine Quint <graouts@apple.com> 2 16 -
trunk/Source/WebCore/platform/cocoa/CoreVideoSoftLink.cpp
r237236 r241437 42 42 SOFT_LINK_FUNCTION_FOR_SOURCE(WebCore, CoreVideo, CVPixelBufferGetBytesPerRow, size_t, (CVPixelBufferRef pixelBuffer), (pixelBuffer)) 43 43 SOFT_LINK_FUNCTION_FOR_SOURCE(WebCore, CoreVideo, CVPixelBufferGetBytesPerRowOfPlane, size_t, (CVPixelBufferRef pixelBuffer, size_t planeIndex), (pixelBuffer, planeIndex)) 44 SOFT_LINK_FUNCTION_FOR_SOURCE(WebCore, CoreVideo, CVPixelBufferGetDataSize, size_t, (CVPixelBufferRef pixelBuffer), (pixelBuffer))45 44 SOFT_LINK_FUNCTION_FOR_SOURCE(WebCore, CoreVideo, CVPixelBufferGetPixelFormatType, OSType, (CVPixelBufferRef pixelBuffer), (pixelBuffer)) 46 45 SOFT_LINK_FUNCTION_FOR_SOURCE(WebCore, CoreVideo, CVPixelBufferGetBaseAddressOfPlane, void *, (CVPixelBufferRef pixelBuffer, size_t planeIndex), (pixelBuffer, planeIndex)); -
trunk/Source/WebCore/platform/cocoa/CoreVideoSoftLink.h
r237236 r241437 49 49 SOFT_LINK_FUNCTION_FOR_HEADER(WebCore, CoreVideo, CVPixelBufferGetBytesPerRowOfPlane, size_t, (CVPixelBufferRef pixelBuffer, size_t planeIndex), (pixelBuffer, planeIndex)) 50 50 #define CVPixelBufferGetBytesPerRowOfPlane softLink_CoreVideo_CVPixelBufferGetBytesPerRowOfPlane 51 SOFT_LINK_FUNCTION_FOR_HEADER(WebCore, CoreVideo, CVPixelBufferGetDataSize, size_t, (CVPixelBufferRef pixelBuffer), (pixelBuffer))52 #define CVPixelBufferGetDataSize softLink_CoreVideo_CVPixelBufferGetDataSize53 51 SOFT_LINK_FUNCTION_FOR_HEADER(WebCore, CoreVideo, CVPixelBufferGetPixelFormatType, OSType, (CVPixelBufferRef pixelBuffer), (pixelBuffer)) 54 52 #define CVPixelBufferGetPixelFormatType softLink_CoreVideo_CVPixelBufferGetPixelFormatType -
trunk/Source/WebCore/platform/graphics/cv/PixelBufferConformerCV.cpp
r240235 r241437 77 77 ++info->lockCount; 78 78 void* address = CVPixelBufferGetBaseAddress(info->pixelBuffer.get()); 79 verifyImageBufferIsBigEnough(address, CVPixelBufferGetDataSize(info->pixelBuffer.get())); 80 RELEASE_LOG_INFO(Media, "CVPixelBufferGetBytePointerCallback() returning bytePointer: %p, size: %zu", address, CVPixelBufferGetDataSize(info->pixelBuffer.get())); 79 size_t byteLength = CVPixelBufferGetBytesPerRow(info->pixelBuffer.get()) * CVPixelBufferGetHeight(info->pixelBuffer.get()); 80 81 verifyImageBufferIsBigEnough(address, byteLength); 82 RELEASE_LOG_INFO(Media, "CVPixelBufferGetBytePointerCallback() returning bytePointer: %p, size: %zu", address, byteLength); 81 83 return address; 82 84 } … … 171 173 CGBitmapInfo bitmapInfo = kCGBitmapByteOrder32Little | kCGImageAlphaFirst; 172 174 size_t bytesPerRow = CVPixelBufferGetBytesPerRow(buffer.get()); 173 size_t byteLength = CVPixelBufferGetDataSize(buffer.get());175 size_t byteLength = bytesPerRow * height; 174 176 175 177 ASSERT(byteLength);
Note: See TracChangeset
for help on using the changeset viewer.