From 2efb665e27b25b5ada95cdcc0bb32fd44095d2f9 Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Tue, 24 Apr 2018 13:49:34 +0200 Subject: [PATCH] Add some more test cases for RTCCVPixelBuffer. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also fix rendering of certain i420 buffers in debug quicklook. Bug: None Change-Id: I793915c3a5a1fcb4cd7b24383d1579655e9a7c28 Reviewed-on: https://webrtc-review.googlesource.com/72080 Reviewed-by: Kári Helgason Commit-Queue: Anders Carlsson Cr-Commit-Position: refs/heads/master@{#23005} --- sdk/objc/Framework/Classes/Video/RTCI420Buffer.mm | 6 +++--- .../Framework/UnitTests/RTCCVPixelBuffer_xctest.mm | 12 ++++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/sdk/objc/Framework/Classes/Video/RTCI420Buffer.mm b/sdk/objc/Framework/Classes/Video/RTCI420Buffer.mm index 3d0538e572..ae4092689f 100644 --- a/sdk/objc/Framework/Classes/Video/RTCI420Buffer.mm +++ b/sdk/objc/Framework/Classes/Video/RTCI420Buffer.mm @@ -127,9 +127,9 @@ _i420Buffer->DataV(), _i420Buffer->StrideV(), ctxData, - _i420Buffer->width() * 4, - _i420Buffer->width(), - _i420Buffer->height()); + CGBitmapContextGetBytesPerRow(c), + CGBitmapContextGetWidth(c), + CGBitmapContextGetHeight(c)); UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); diff --git a/sdk/objc/Framework/UnitTests/RTCCVPixelBuffer_xctest.mm b/sdk/objc/Framework/UnitTests/RTCCVPixelBuffer_xctest.mm index c807af3b47..a6200dca5a 100644 --- a/sdk/objc/Framework/UnitTests/RTCCVPixelBuffer_xctest.mm +++ b/sdk/objc/Framework/UnitTests/RTCCVPixelBuffer_xctest.mm @@ -133,6 +133,18 @@ outputSize:CGSizeMake(0, 0)]; } +- (void)testCropAndScaleToSmallFormat_NV12 { + [self cropAndScaleTestWithNV12InputFormat:kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange + outputFormat:kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange + outputSize:CGSizeMake(148, 320)]; +} + +- (void)testCropAndScaleToOddFormat_NV12 { + [self cropAndScaleTestWithNV12InputFormat:kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange + outputFormat:kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange + outputSize:CGSizeMake(361, 640)]; +} + - (void)testCropAndScale_32BGRA { [self cropAndScaleTestWithRGBPixelFormat:kCVPixelFormatType_32BGRA]; }