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

Unified Diff: webrtc/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java

Issue 2625903005: Reland of Android: Add field trial for Intel HW Vp8 encoder (Closed)
Patch Set: Ignore field trials when jingle_peerconnection_so is not available Created 3 years, 11 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/android/api/org/webrtc/MediaCodecVideoEncoder.java
diff --git a/webrtc/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java b/webrtc/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
index 432c0bf877c393cbf3d250c7c7989b9ff91c7d1c..c3e2133f77013234c22f16a058baf9d3449aa3e4 100644
--- a/webrtc/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
+++ b/webrtc/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
@@ -20,8 +20,8 @@ import android.opengl.GLES20;
import android.os.Build;
import android.os.Bundle;
import android.view.Surface;
-
import java.nio.ByteBuffer;
+import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
@@ -114,8 +114,17 @@ public class MediaCodecVideoEncoder {
"OMX.qcom.", Build.VERSION_CODES.KITKAT, BitrateAdjustmentType.NO_ADJUSTMENT);
private static final MediaCodecProperties exynosVp8HwProperties = new MediaCodecProperties(
"OMX.Exynos.", Build.VERSION_CODES.M, BitrateAdjustmentType.DYNAMIC_ADJUSTMENT);
- private static final MediaCodecProperties[] vp8HwList =
- new MediaCodecProperties[] {qcomVp8HwProperties, exynosVp8HwProperties};
+ private static final MediaCodecProperties intelVp8HwProperties = new MediaCodecProperties(
+ "OMX.Intel.", Build.VERSION_CODES.LOLLIPOP, BitrateAdjustmentType.NO_ADJUSTMENT);
+ private static MediaCodecProperties[] vp8HwList() {
+ final ArrayList<MediaCodecProperties> supported_codecs = new ArrayList<MediaCodecProperties>();
+ supported_codecs.add(qcomVp8HwProperties);
+ supported_codecs.add(exynosVp8HwProperties);
+ if (PeerConnectionFactory.fieldTrialsFindFullName("WebRTC-IntelVP8").equals("Enabled")) {
+ supported_codecs.add(intelVp8HwProperties);
+ }
+ return supported_codecs.toArray(new MediaCodecProperties[supported_codecs.size()]);
+ }
// List of supported HW VP9 encoders.
private static final MediaCodecProperties qcomVp9HwProperties = new MediaCodecProperties(
@@ -203,14 +212,14 @@ public class MediaCodecVideoEncoder {
// Functions to query if HW encoding is supported.
public static boolean isVp8HwSupported() {
return !hwEncoderDisabledTypes.contains(VP8_MIME_TYPE)
- && (findHwEncoder(VP8_MIME_TYPE, vp8HwList, supportedColorList) != null);
+ && (findHwEncoder(VP8_MIME_TYPE, vp8HwList(), supportedColorList) != null);
}
public static EncoderProperties vp8HwEncoderProperties() {
if (hwEncoderDisabledTypes.contains(VP8_MIME_TYPE)) {
return null;
} else {
- return findHwEncoder(VP8_MIME_TYPE, vp8HwList, supportedColorList);
+ return findHwEncoder(VP8_MIME_TYPE, vp8HwList(), supportedColorList);
}
}
@@ -226,7 +235,7 @@ public class MediaCodecVideoEncoder {
public static boolean isVp8HwSupportedUsingTextures() {
return !hwEncoderDisabledTypes.contains(VP8_MIME_TYPE)
- && (findHwEncoder(VP8_MIME_TYPE, vp8HwList, supportedSurfaceColorList) != null);
+ && (findHwEncoder(VP8_MIME_TYPE, vp8HwList(), supportedSurfaceColorList) != null);
}
public static boolean isVp9HwSupportedUsingTextures() {
@@ -387,7 +396,7 @@ public class MediaCodecVideoEncoder {
if (type == VideoCodecType.VIDEO_CODEC_VP8) {
mime = VP8_MIME_TYPE;
properties = findHwEncoder(
- VP8_MIME_TYPE, vp8HwList, useSurface ? supportedSurfaceColorList : supportedColorList);
+ VP8_MIME_TYPE, vp8HwList(), useSurface ? supportedSurfaceColorList : supportedColorList);
keyFrameIntervalSec = 100;
} else if (type == VideoCodecType.VIDEO_CODEC_VP9) {
mime = VP9_MIME_TYPE;

Powered by Google App Engine
This is Rietveld 408576698