Rabbit-R1/android (non root)/java/sources/org/webrtc/VideoEncoder.java

191 lines
5.2 KiB
Java
Raw Normal View History

2024-05-21 21:08:36 +00:00
package org.webrtc;
import org.webrtc.EncodedImage;
/* loaded from: classes3.dex */
public interface VideoEncoder {
/* loaded from: classes3.dex */
public interface Callback {
void onEncodedFrame(EncodedImage encodedImage, CodecSpecificInfo codecSpecificInfo);
}
/* loaded from: classes3.dex */
public static class CodecSpecificInfo {
}
/* loaded from: classes3.dex */
public static class CodecSpecificInfoAV1 extends CodecSpecificInfo {
}
/* loaded from: classes3.dex */
public static class CodecSpecificInfoH264 extends CodecSpecificInfo {
}
/* loaded from: classes3.dex */
public static class CodecSpecificInfoVP8 extends CodecSpecificInfo {
}
/* loaded from: classes3.dex */
public static class CodecSpecificInfoVP9 extends CodecSpecificInfo {
}
default long createNativeVideoEncoder() {
return 0L;
}
VideoCodecStatus encode(VideoFrame videoFrame, EncodeInfo encodeInfo);
String getImplementationName();
default ResolutionBitrateLimits[] getResolutionBitrateLimits() {
return new ResolutionBitrateLimits[0];
}
ScalingSettings getScalingSettings();
VideoCodecStatus initEncode(Settings settings, Callback callback);
default boolean isHardwareEncoder() {
return true;
}
VideoCodecStatus release();
VideoCodecStatus setRateAllocation(BitrateAllocation bitrateAllocation, int i);
/* loaded from: classes3.dex */
public static class Settings {
public final boolean automaticResizeOn;
public final Capabilities capabilities;
public final int height;
public final int maxFramerate;
public final int numberOfCores;
public final int numberOfSimulcastStreams;
public final int startBitrate;
public final int width;
@Deprecated
public Settings(int i, int i2, int i3, int i4, int i5, int i6, boolean z) {
this(i, i2, i3, i4, i5, i6, z, new Capabilities(false));
}
public Settings(int i, int i2, int i3, int i4, int i5, int i6, boolean z, Capabilities capabilities) {
this.numberOfCores = i;
this.width = i2;
this.height = i3;
this.startBitrate = i4;
this.maxFramerate = i5;
this.numberOfSimulcastStreams = i6;
this.automaticResizeOn = z;
this.capabilities = capabilities;
}
}
/* loaded from: classes3.dex */
public static class Capabilities {
public final boolean lossNotification;
public Capabilities(boolean z) {
this.lossNotification = z;
}
}
/* loaded from: classes3.dex */
public static class EncodeInfo {
public final EncodedImage.FrameType[] frameTypes;
public EncodeInfo(EncodedImage.FrameType[] frameTypeArr) {
this.frameTypes = frameTypeArr;
}
}
/* loaded from: classes3.dex */
public static class BitrateAllocation {
public final int[][] bitratesBbs;
public BitrateAllocation(int[][] iArr) {
this.bitratesBbs = iArr;
}
public int getSum() {
int i = 0;
for (int[] iArr : this.bitratesBbs) {
for (int i2 : iArr) {
i += i2;
}
}
return i;
}
}
/* loaded from: classes3.dex */
public static class ScalingSettings {
public static final ScalingSettings OFF = new ScalingSettings();
public final Integer high;
public final Integer low;
public final boolean on;
public ScalingSettings(int i, int i2) {
this.on = true;
this.low = Integer.valueOf(i);
this.high = Integer.valueOf(i2);
}
private ScalingSettings() {
this.on = false;
this.low = null;
this.high = null;
}
@Deprecated
public ScalingSettings(boolean z) {
this.on = z;
this.low = null;
this.high = null;
}
@Deprecated
public ScalingSettings(boolean z, int i, int i2) {
this.on = z;
this.low = Integer.valueOf(i);
this.high = Integer.valueOf(i2);
}
public String toString() {
return this.on ? "[ " + this.low + ", " + this.high + " ]" : "OFF";
}
}
/* loaded from: classes3.dex */
public static class ResolutionBitrateLimits {
public final int frameSizePixels;
public final int maxBitrateBps;
public final int minBitrateBps;
public final int minStartBitrateBps;
public int getFrameSizePixels() {
return this.frameSizePixels;
}
public int getMaxBitrateBps() {
return this.maxBitrateBps;
}
public int getMinBitrateBps() {
return this.minBitrateBps;
}
public int getMinStartBitrateBps() {
return this.minStartBitrateBps;
}
public ResolutionBitrateLimits(int i, int i2, int i3, int i4) {
this.frameSizePixels = i;
this.minStartBitrateBps = i2;
this.minBitrateBps = i3;
this.maxBitrateBps = i4;
}
}
}