Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Unified Diff: webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h

Issue 2991123002: ObjC: Fix quality scaling for injected encoders (Closed)
Patch Set: Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h
diff --git a/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h
index 95b519fdc04fa07a075c4acecc297a62706daa7b..a57e3e1077fdf9b7c08438048d06a779c8cd0a9f 100644
--- a/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h
+++ b/webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h
@@ -104,6 +104,17 @@ RTC_EXPORT
@end
+/** QP thresholds for encoder. Corresponds to webrtc::VideoEncoder::QpThresholds. */
+RTC_EXPORT
+@interface RTCVideoEncoderQpThresholds : NSObject
+
+- (instancetype)initWithThresholdsLow:(NSInteger)low high:(NSInteger)high;
+
+@property(nonatomic, readonly) NSInteger low;
+@property(nonatomic, readonly) NSInteger high;
+
+@end
+
/** Protocol for encoder implementations. */
RTC_EXPORT
@protocol RTCVideoEncoder <NSObject>
@@ -118,6 +129,13 @@ RTC_EXPORT
frameTypes:(NSArray<NSNumber *> *)frameTypes;
- (BOOL)setBitrate:(uint32_t)bitrateKbit framerate:(uint32_t)framerate;
+/** Returns QP scaling settings for encoder. The quality scaler adjusts the resolution in order to
+ * keep the QP from the encoded images within the given range. Returning nil from this function
+ * disables quality scaling. */
+- (RTCVideoEncoderQpThresholds *)scalingSettings;
+
+// TODO(andersc): Add implementationName method.
andersc 2017/08/01 14:30:26 Is this related? I suppose it's a oneliner just re
magjed_webrtc 2017/08/01 15:04:55 It's not really related but it's another function
+
@end
/** Protocol for decoder implementations. */
@@ -135,6 +153,8 @@ RTC_EXPORT
codecSpecificInfo:(__nullable id<RTCCodecSpecificInfo>)info
renderTimeMs:(int64_t)renderTimeMs;
+// TODO(andersc): Add implementationName method.
+
@end
NS_ASSUME_NONNULL_END

Powered by Google App Engine
This is Rietveld 408576698