- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
57 lines
2.6 KiB
Java
57 lines
2.6 KiB
Java
package com.mbridge.msdk.playercommon.exoplayer2.video;
|
|
|
|
import com.mbridge.msdk.playercommon.exoplayer2.ParserException;
|
|
import com.mbridge.msdk.playercommon.exoplayer2.util.NalUnitUtil;
|
|
import com.mbridge.msdk.playercommon.exoplayer2.util.ParsableByteArray;
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
|
|
/* loaded from: classes4.dex */
|
|
public final class HevcConfig {
|
|
public final List<byte[]> initializationData;
|
|
public final int nalUnitLengthFieldLength;
|
|
|
|
public static HevcConfig parse(ParsableByteArray parsableByteArray) throws ParserException {
|
|
try {
|
|
parsableByteArray.skipBytes(21);
|
|
int readUnsignedByte = parsableByteArray.readUnsignedByte() & 3;
|
|
int readUnsignedByte2 = parsableByteArray.readUnsignedByte();
|
|
int position = parsableByteArray.getPosition();
|
|
int i = 0;
|
|
for (int i2 = 0; i2 < readUnsignedByte2; i2++) {
|
|
parsableByteArray.skipBytes(1);
|
|
int readUnsignedShort = parsableByteArray.readUnsignedShort();
|
|
for (int i3 = 0; i3 < readUnsignedShort; i3++) {
|
|
int readUnsignedShort2 = parsableByteArray.readUnsignedShort();
|
|
i += readUnsignedShort2 + 4;
|
|
parsableByteArray.skipBytes(readUnsignedShort2);
|
|
}
|
|
}
|
|
parsableByteArray.setPosition(position);
|
|
byte[] bArr = new byte[i];
|
|
int i4 = 0;
|
|
for (int i5 = 0; i5 < readUnsignedByte2; i5++) {
|
|
parsableByteArray.skipBytes(1);
|
|
int readUnsignedShort3 = parsableByteArray.readUnsignedShort();
|
|
for (int i6 = 0; i6 < readUnsignedShort3; i6++) {
|
|
int readUnsignedShort4 = parsableByteArray.readUnsignedShort();
|
|
byte[] bArr2 = NalUnitUtil.NAL_START_CODE;
|
|
System.arraycopy(bArr2, 0, bArr, i4, bArr2.length);
|
|
int length = i4 + bArr2.length;
|
|
System.arraycopy(parsableByteArray.data, parsableByteArray.getPosition(), bArr, length, readUnsignedShort4);
|
|
i4 = length + readUnsignedShort4;
|
|
parsableByteArray.skipBytes(readUnsignedShort4);
|
|
}
|
|
}
|
|
return new HevcConfig(i == 0 ? null : Collections.singletonList(bArr), readUnsignedByte + 1);
|
|
} catch (ArrayIndexOutOfBoundsException e) {
|
|
throw new ParserException("Error parsing HEVC config", e);
|
|
}
|
|
}
|
|
|
|
private HevcConfig(List<byte[]> list, int i) {
|
|
this.initializationData = list;
|
|
this.nalUnitLengthFieldLength = i;
|
|
}
|
|
}
|