mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
191 lines
5.2 KiB
Java
191 lines
5.2 KiB
Java
|
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;
|
||
|
}
|
||
|
}
|
||
|
}
|