diff --git a/api/video/BUILD.gn b/api/video/BUILD.gn
index aaa0d56..3aae5fb 100644
--- a/api/video/BUILD.gn
+++ b/api/video/BUILD.gn
@@ -7,6 +7,10 @@
 # be found in the AUTHORS file in the root of the source tree.
 
 import("../../webrtc.gni")
+if (is_android) {
+  import("//build/config/android/config.gni")
+  import("//build/config/android/rules.gni")
+}
 
 rtc_library("video_rtp_headers") {
   visibility = [ "*" ]
@@ -56,6 +60,12 @@
   ]
 }
 
+if (is_android) {
+  java_cpp_enum("video_frame_enums") {
+    sources = [ "video_codec_type.h" ]
+  }
+}
+
 rtc_source_set("recordable_encoded_frame") {
   visibility = [ "*" ]
   sources = [ "recordable_encoded_frame.h" ]
diff --git a/api/video/video_codec_type.h b/api/video/video_codec_type.h
index efbe3cc..12dcfac 100644
--- a/api/video/video_codec_type.h
+++ b/api/video/video_codec_type.h
@@ -13,7 +13,7 @@
 
 namespace webrtc {
 
-// Video codec types
+// GENERATED_JAVA_ENUM_PACKAGE: org.webrtc
 enum VideoCodecType {
   // There are various memset(..., 0, ...) calls in the code that rely on
   // kVideoCodecGeneric being zero.
diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn
index 1a5dc82..9ee4216 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -327,6 +327,7 @@
       "//rtc_base:base_java",
       "//third_party/android_deps:com_android_support_support_annotations_java",
     ]
+    srcjar_deps = [ "//api/video:video_frame_enums" ]
   }
 
   # Modules, in alphabetical order.
diff --git a/sdk/android/api/org/webrtc/MediaCodecVideoDecoder.java b/sdk/android/api/org/webrtc/MediaCodecVideoDecoder.java
index 8c91de0..5b51df2 100644
--- a/sdk/android/api/org/webrtc/MediaCodecVideoDecoder.java
+++ b/sdk/android/api/org/webrtc/MediaCodecVideoDecoder.java
@@ -134,20 +134,6 @@
   private static final String FORMAT_KEY_CROP_TOP = "crop-top";
   private static final String FORMAT_KEY_CROP_BOTTOM = "crop-bottom";
 
-  // Tracks webrtc::VideoCodecType.
-  public enum VideoCodecType {
-    VIDEO_CODEC_UNKNOWN,
-    VIDEO_CODEC_VP8,
-    VIDEO_CODEC_VP9,
-    VIDEO_CODEC_AV1,
-    VIDEO_CODEC_H264;
-
-    @CalledByNative("VideoCodecType")
-    static VideoCodecType fromNativeIndex(int nativeIndex) {
-      return values()[nativeIndex];
-    }
-  }
-
   // Timeout for input buffer dequeue.
   private static final int DEQUEUE_INPUT_TIMEOUT = 500000;
   // Timeout for codec releasing.
@@ -423,7 +409,7 @@
   }
 
   @CalledByNativeUnchecked
-  private boolean initDecode(VideoCodecType type, int width, int height) {
+  private boolean initDecode(@VideoCodecType int type, int width, int height) {
     if (mediaCodecThread != null) {
       throw new RuntimeException("initDecode: Forgot to release()?");
     }
diff --git a/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java b/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
index 5f5d44b..1c9bc42 100644
--- a/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
+++ b/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
@@ -135,20 +135,6 @@
     }
   }
 
-  // Tracks webrtc::VideoCodecType.
-  public enum VideoCodecType {
-    VIDEO_CODEC_UNKNOWN,
-    VIDEO_CODEC_VP8,
-    VIDEO_CODEC_VP9,
-    VIDEO_CODEC_AV1,
-    VIDEO_CODEC_H264;
-
-    @CalledByNative("VideoCodecType")
-    static VideoCodecType fromNativeIndex(int nativeIndex) {
-      return values()[nativeIndex];
-    }
-  }
-
   private static final int MEDIA_CODEC_RELEASE_TIMEOUT_MS = 5000; // Timeout for codec releasing.
   private static final int DEQUEUE_TIMEOUT = 0; // Non-blocking, no wait.
   private static final int BITRATE_ADJUSTMENT_FPS = 30;
@@ -331,7 +317,7 @@
       CodecCapabilities.COLOR_QCOM_FormatYUV420SemiPlanar,
       COLOR_QCOM_FORMATYUV420PackedSemiPlanar32m};
   private static final int[] supportedSurfaceColorList = {CodecCapabilities.COLOR_FormatSurface};
-  private VideoCodecType type;
+  @VideoCodecType private int type;
   private int colorFormat;
 
   // Variables used for dynamic bitrate adjustment.
@@ -559,8 +545,8 @@
   }
 
   @CalledByNativeUnchecked
-  boolean initEncode(VideoCodecType type, int profile, int width, int height, int kbps, int fps,
-      boolean useSurface) {
+  boolean initEncode(@VideoCodecType int type, int profile, int width, int height, int kbps,
+      int fps, boolean useSurface) {
     Logging.d(TAG,
         "Java initEncode: " + type + ". Profile: " + profile + " : " + width + " x " + height
             + ". @ " + kbps + " kbps. Fps: " + fps + ". Encode from texture : " + useSurface);
diff --git a/sdk/android/instrumentationtests/src/org/webrtc/MediaCodecVideoEncoderTest.java b/sdk/android/instrumentationtests/src/org/webrtc/MediaCodecVideoEncoderTest.java
index 7693b59..7182f48 100644
--- a/sdk/android/instrumentationtests/src/org/webrtc/MediaCodecVideoEncoderTest.java
+++ b/sdk/android/instrumentationtests/src/org/webrtc/MediaCodecVideoEncoderTest.java
@@ -38,8 +38,8 @@
       return;
     }
     MediaCodecVideoEncoder encoder = new MediaCodecVideoEncoder();
-    assertTrue(encoder.initEncode(MediaCodecVideoEncoder.VideoCodecType.VIDEO_CODEC_VP8, profile,
-        640, 480, 300, 30, /* useSurface= */ false));
+    assertTrue(encoder.initEncode(
+        VideoCodecType.VIDEO_CODEC_VP8, profile, 640, 480, 300, 30, /* useSurface= */ false));
     encoder.release();
   }
 
@@ -53,8 +53,8 @@
     EglBase14 eglBase = EglBase.createEgl14(EglBase.CONFIG_PLAIN);
     MediaCodecVideoEncoder.setEglContext(eglBase.getEglBaseContext());
     MediaCodecVideoEncoder encoder = new MediaCodecVideoEncoder();
-    assertTrue(encoder.initEncode(MediaCodecVideoEncoder.VideoCodecType.VIDEO_CODEC_VP8, profile,
-        640, 480, 300, 30, /* useSurface= */ true));
+    assertTrue(encoder.initEncode(
+        VideoCodecType.VIDEO_CODEC_VP8, profile, 640, 480, 300, 30, /* useSurface= */ true));
     encoder.release();
     MediaCodecVideoEncoder.disposeEglContext();
     eglBase.release();
@@ -68,13 +68,13 @@
       return;
     }
     MediaCodecVideoEncoder encoder = new MediaCodecVideoEncoder();
-    assertTrue(encoder.initEncode(MediaCodecVideoEncoder.VideoCodecType.VIDEO_CODEC_VP8, profile,
-        640, 480, 300, 30, /* useSurface= */ false));
+    assertTrue(encoder.initEncode(
+        VideoCodecType.VIDEO_CODEC_VP8, profile, 640, 480, 300, 30, /* useSurface= */ false));
     encoder.release();
     EglBase14 eglBase = EglBase.createEgl14(EglBase.CONFIG_PLAIN);
     MediaCodecVideoEncoder.setEglContext(eglBase.getEglBaseContext());
-    assertTrue(encoder.initEncode(MediaCodecVideoEncoder.VideoCodecType.VIDEO_CODEC_VP8, profile,
-        640, 480, 300, 30, /* useSurface= */ true));
+    assertTrue(encoder.initEncode(
+        VideoCodecType.VIDEO_CODEC_VP8, profile, 640, 480, 300, 30, /* useSurface= */ true));
     encoder.release();
     MediaCodecVideoEncoder.disposeEglContext();
     eglBase.release();
@@ -95,8 +95,8 @@
 
     MediaCodecVideoEncoder encoder = new MediaCodecVideoEncoder();
 
-    assertTrue(encoder.initEncode(MediaCodecVideoEncoder.VideoCodecType.VIDEO_CODEC_VP8, profile,
-        width, height, 300, 30, /* useSurface= */ false));
+    assertTrue(encoder.initEncode(
+        VideoCodecType.VIDEO_CODEC_VP8, profile, width, height, 300, 30, /* useSurface= */ false));
     ByteBuffer[] inputBuffers = encoder.getInputBuffers();
     assertNotNull(inputBuffers);
     assertTrue(min_size <= inputBuffers[0].capacity());
diff --git a/sdk/android/src/jni/android_media_decoder.cc b/sdk/android/src/jni/android_media_decoder.cc
index 94ce42d..7c731ce 100644
--- a/sdk/android/src/jni/android_media_decoder.cc
+++ b/sdk/android/src/jni/android_media_decoder.cc
@@ -213,10 +213,8 @@
 
   ResetVariables();
 
-  ScopedJavaLocalRef<jobject> j_video_codec_enum =
-      Java_VideoCodecType_fromNativeIndex(jni, codecType_);
   bool success = Java_MediaCodecVideoDecoder_initDecode(
-      jni, j_media_codec_video_decoder_, j_video_codec_enum, codec_.width,
+      jni, j_media_codec_video_decoder_, codecType_, codec_.width,
       codec_.height);
 
   if (CheckException(jni) || !success) {
diff --git a/sdk/android/src/jni/android_media_encoder.cc b/sdk/android/src/jni/android_media_encoder.cc
index 4b4ad10..8db368b 100644
--- a/sdk/android/src/jni/android_media_encoder.cc
+++ b/sdk/android/src/jni/android_media_encoder.cc
@@ -512,11 +512,9 @@
   frames_received_since_last_key_ = kMinKeyFrameInterval;
 
   // We enforce no extra stride/padding in the format creation step.
-  ScopedJavaLocalRef<jobject> j_video_codec_enum =
-      Java_VideoCodecType_fromNativeIndex(jni, codec_type);
   const bool encode_status = Java_MediaCodecVideoEncoder_initEncode(
-      jni, j_media_codec_video_encoder_, j_video_codec_enum, profile_, width,
-      height, kbps, fps, use_surface);
+      jni, j_media_codec_video_encoder_, codec_type, profile_, width, height,
+      kbps, fps, use_surface);
 
   if (!encode_status) {
     ALOGE << "Failed to configure encoder.";
