1 /* 2 * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #import <Foundation/Foundation.h> 12 13 NS_ASSUME_NONNULL_BEGIN 14 15 @interface RTCVideoFrame : NSObject 16 17 /** Width without rotation applied. */ 18 @property(nonatomic, readonly) size_t width; 19 20 /** Height without rotation applied. */ 21 @property(nonatomic, readonly) size_t height; 22 @property(nonatomic, readonly) size_t chromaWidth; 23 @property(nonatomic, readonly) size_t chromaHeight; 24 @property(nonatomic, readonly) size_t chromaSize; 25 // These can return NULL if the object is not backed by a buffer. 26 @property(nonatomic, readonly, nullable) const uint8_t *yPlane; 27 @property(nonatomic, readonly, nullable) const uint8_t *uPlane; 28 @property(nonatomic, readonly, nullable) const uint8_t *vPlane; 29 @property(nonatomic, readonly) int32_t yPitch; 30 @property(nonatomic, readonly) int32_t uPitch; 31 @property(nonatomic, readonly) int32_t vPitch; 32 33 - (instancetype)init NS_UNAVAILABLE; 34 35 @end 36 37 NS_ASSUME_NONNULL_END 38